Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> htaccess - usunięcie query string oraz znaku "?"
Scandall
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.08.2016

Ostrzeżenie: (0%)
-----


Witam,

mam taki nietypowy problem, którego nie mogę rozwiązać.... Może ktoś z forumowiczów już się z tym zmagał lub ma pomysł jak to zrobić.

Otóż - mamy serwis internetowy, który ma w celach bezpieczeństwa wyłączoną obsługę znaku "?" w adresie URL (zablokowana obsługa metody GET). Wywołanie adresu URL ze znakiem "?" powoduje wyświetlenie komunikatu o błędzie. Problem polega na tym, że wiele zewnętrznych systemów marketingowych (sieci reklamowe, narzędzia do e-marketingu) domyślnie dodają parametry po znaku "?".

I tu pytanie - czy można jakoś w htaccess sprawić (dodać odpowiednie warunku na początku tego pliku) aby wszystko po znaku "?" wraz ze znakiem "?" było ignorowane w dalszym przetwarzaniu reguł w htaccess?

Dla przykładu - mamy url: domena.pl/jakas_podstrona.html
Kierujemy ruch na url: domena.pl/jakas_podstrona.html?parametr=wartosc

Na początku przetwarzania w htaccess obcina nam "?parametr=wartosc" (jednak w przeglądarce jest on nadal widoczny - chodzi o to aby javascript miał do niego dostęp).

Myślałem nad zastosowaniem czegoś podobnego do tego:

RewriteCond %{THE_REQUEST} ^[A-Z]+ /.*\ HTTP
RewriteCond %{QUERY_STRING} !^$
RewriteRule .* http://domena.pl%{REQUEST_URI}? [R=301,L]

Jednak to nie rozwiązuje problemu - następuje przekierowanie na adres url bez "?" i parametrów. A mi chodzi o to aby one istniały ale były "ignorowane" przez dalsze reguły htaccess.
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A jakie to bezpieczeństwo ma zapewnić?

Jeśli nie wykorzystujesz w kodzie zmiennych z $_GET, to nie mają znaczenia.
Go to the top of the page
+Quote Post
Scandall
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.08.2016

Ostrzeżenie: (0%)
-----


Ja to wiem ;-) Ale nie ja administruję tą stroną ;-) Szukam jedynie rozwiązania tego problemu gdyż admin z obawy, że gdzieś coś było użyte - nie chce tego włączyć - sam od niedawna zajmuje się tą aplikacją.

Wracając do tematu - da się takie coś zrobić czy raczej nie?
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Nie wiem czy coś takiego zadziała:
1. Kierujesz QUERY_STRING na #, czyli domena.pl?a=1 na domena.pl#?a=1
2. W JS przed wykonaniem innych skryptów zmieniasz hash na prawdziwy query string.

Ten post edytował trueblue 23.08.2016, 14:12:09
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:00