-1

Ich Umleiten Seite PHP-Header Standort mit:Hiding einige GET-Parameter von URL

Aktuelle URL in Browser

https://mywebsite/open/firstpage/php/start.php?&cnt=us&language=en&url=http://secureURL.com 

aber

https://mywebsite/open/firstpage/php/start.php?&cnt=us&language=en 

Ich bin mit GET-Methode zeigen wollen die andere Seite, um alle Variablen zu sammeln. Ich habe &url in Abfragezeichenfolgeflag verstecken, aber es auf der anderen Seite $_GET['url']

erhalten mag, wie ich meine &url ohne zu zeigen, in URL Abfragezeichenfolgeflag teilen kann? Kann ich htaccess schreiben?

+1

Wenn '& url = ...' aus der ursprünglichen Zeichenkette entfernt wird, dann ist es nicht verfügbar als '$ _GET ['url']' – anubhava

+0

@anubhava Ich habe '& url = 'in URL behalten, möchte aber nicht show in broesers URL –

+2

Was bedeutet das? Wenn Browser einen Teil der URL nicht sehen, bedeutet dies, dass sie diesen auch nicht an Ihren Webserver senden. – anubhava

Antwort

1

Sie können das nicht tun. Wenn ein Parameter in der Abfragezeichenfolge nicht vorhanden ist, ist er nirgendwo verfügbar, er ist einfach nicht vorhanden. Es gibt kein "Verstecken" der Abfragezeichenfolge.

Sie könnten jedoch einen Session-Mechanismus verwenden, um Daten von einer Seite an eine andere zu übergeben. Sie könnten es in die $ _SESSION setzen oder Cookies verwenden. Es kann auch ein Weg sein, dies durch wirklich geheimnisvolle mod_rewrite Magie zu erreichen, aber Sie sollten nicht diesen Weg gehen. Ja wirklich.

Noch wichtiger: Was versuchen Sie zu erreichen? Warum versuchst du das zu tun?

Ästhetische Gründe? Beachten Sie, dass moderne Browser dazu neigen, den Abfragezeichenfolgeteil des URI vor dem Benutzer zu verbergen.

Sicherheitsgründe? Dann tust du es furchtbar falsch, solltest du nicht etwas verwenden, das so leicht vom Klienten manipuliert wird.

Benutzerverfolgung? Dafür gibt es etablierte Lösungen (etwa Google Analytics).

+0

Ich bewerbe jetzt Sicherheitssalz, ich werde es mit Drittpartei teilen, die sie RSA darauf überprüfen werden. Schließlich sollten beide Hashwerte gleich sein. –

2

Redirect für alle URLs

RewriteEngine on 
RewriteRule ^(.*) $1?%{QUERY_STRING}&url=http://secureURL.com [L] 

Redirect für nur /open/firstpage/php/start.php

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/open/firstpage/php/start.php 
RewriteRule ^(.*) $1?%{QUERY_STRING}&url=http://secureURL.com [L] 

Ich denke, das ist das, was Sie wollen.

+0

Ah, also sollte http://secureURL.com eine Konstante sein? –

+1

Ja, aber ich bin mir nicht sicher, ob alle URLs umgeleitet werden müssen oder nur die eine erwähnt wurde. –