Ich versuche, eine Anwendung zu erstellen, und ich muss die Referrer URL überprüfen, die auf diese Seite umleitet, die refered paged wird nicht angezeigt ... Es funktioniert, wenn es eine Schaltfläche ist, aber wenn die Seite sonst von einer anderen Seite umleitet bleibt leer. Wie kann ich das tun ??
Antwort
Es wird/kann leer sein:
- , wenn der Endbenutzer selbst die Website-URL in Browser-Adressleiste eingegeben.
- besuchte die Website von einem Browser gepflegt Lesezeichen.
- besuchten die Website als erste Seite im Fenster/Registerkarte.
- wechselte von einer https-URL zu einer http-URL.
- wurde von einer https-URL zu einer anderen https-URL gewechselt.
- ist eine Sicherheitssoftware installiert (Antivirus/Firewall/etc), die den Referrer von allen Anfragen entfernt.
- ist hinter einem Proxy, der den Referrer von allen Anfragen streift.
- besucht die Seite programmatisch (wie Locke), ohne die Referrer-Header-Einstellung (Searchbots!) Von @BalusC
Auch bedeutet es, Sie nicht immer eine Referrer-Adresse haben. Sie können also der Referrer-Adresse überhaupt nicht vertrauen.
Zum Beispiel:
Es ist ein kleines, dass jeder ausnutzen leicht tun können:
Gehen Sie zu einer Website, und injizieren, ein Formular-Code-Daten von dieser Seite auf eine andere Seite senden, also wird die Schicksals-Site Daten von der injizierten Seite erhalten und nicht von dir.
Vertraue niemals Referrer-Adressen. Die Verwendung eines SESSION wird höchstwahrscheinlich der bessere Weg sein, Cross-Site-Formular-Übergaben zu verhindern.
Ich empfehle zu lesen:
Sie einen Cookie mit dem Wert der Referrer-URL im Header festlegen, die in 5 Sekunden abgelaufen ist dann in dem neuen Skript holen sie und umleiten zurück zum Referrer
So:
$current_url= base64_encode($url); //$url should point to the current url
setcookie("referrer",$current_url,time()+5);
Verwendung
Jetzt können Sie die gespeicherte URL in Ihrem nächsten Skript erhalten:
$referrer= base64_decode($_COOKIE['referrer']);
und leiten auch mit:
header('Location: '.$referrer);
- 1. $ _SERVER ['HTTP_REFERER'] wird nicht erhalten HTTP_REFERER von Facebook Messenger App
- 2. Alternative für $ _SERVER ['HTTP_REFERER'] PHP-Variable in MSIE
- 3. PHP - Wie bekomme ich einen Parameterwert von $ _SERVER ['HTTP_REFERER']?
- 4. Abfragezeichenfolge hängt an, wenn $ _SERVER ['HTTP_REFERER'] verwendet wird
- 5. Wie bekomme ich einen Parameterwert von $ _SERVER ['HTTP_REFERER']?
- 6. php/html - http_referer
- 7. PHP: $ _SERVER Variablen: $ _SERVER [ 'HTTP_HOST'] vs $ _SERVER [ 'SERVER_NAME']
- 8. PHP: Was ist der beste Weg, die Gleichheit von $ _SERVER ['HTTP_REFERER'] zu überprüfen?
- 9. Filter PHP $ _SERVER ['PHP_SELF']
- 10. PHP $ _SERVER: QUERY_STRING
- 11. PHP $ GLOBALS $ _SERVER
- 12. PHP HTTP_REFERER auf 301 Redirects
- 13. Wie liest man GET-Werte von HTTP_REFERER mit PHP
- 14. PHP Regex für $ _SERVER ["QUERY_STRING"]
- 15. Php $ _SERVER ["REQUEST_METHOD"] Immer zurück
- 16. Notice: Undefined index: HTTP_REFERER
- 17. Ergebnis von $ _SERVER ['HTTP_REFERER'], wenn Referer Header nicht an Server gesendet wird
- 18. $ _SERVER [ ‚HTTP_REFERER‘] ist es in Ordnung, es zu benutzen mit mehreren Formularen
- 19. HTTP_REFERER Syntax
- 20. apache_request_headers() versus $ _SERVER
- 21. JSP oder JavaScript entspricht PHP $ _SERVER ["HTTP_HOST"]?
- 22. $ _SERVER ['REMOTE_ADDR'] in PHP meldet unterschiedliche Struktur
- 23. PHP $ _SERVER ['DOCUMENT_ROOT'] entspricht in C#
- 24. Unterstützen alle Browser PHP $ _SERVER ['HTTP_X_REQUESTED_WITH']?
- 25. Wie aktiviert man $ _SERVER ['HTTP_IF_NONE_MATCH'] in PHP?
- 26. Was ist Python entspricht PHP $ _SERVER?
- 27. PHP echo $ _SERVER ['PHP_SELF'] mit hinzugefügter Variable?
- 28. In welcher Situation funktioniert der HTTP_REFERER nicht?
- 29. $ _SERVER ['_'] äquivalent zu Windows
- 30. Schema und Host aus HTTP_REFERER extrahieren
Sie in der Lage sind ein Ausschnitt aus zu geben, wie Ihr versuchen, die $ _SERVER [zu sparen 'HTTP_REFERER']; –
Php print $ _SERVER ["HTTP_REFERER"]; ?> – Dermot