Ich habe ein Formular, sammeln Daten und senden sie an process_form.php diese Datei tut verschiedene Funktionen, aber Benutzerdaten benötigt, um zu arbeiten, wenn ohne ausgeführt wird Benutzerdaten können einige Probleme verursachen. Ich möchte nicht, dass jemand www.mysite.com/process_form.php eingeben kann, aber ich möchte seinen Zugriff nur erlauben, wenn die verweisende URL www.mysite.com/compile.php ist. Möglich?Disable direkten Zugriff auf PHP-Seite, aber erlauben den Zugriff, wenn von bestimmter Seite erreicht
Antwort
Es ist möglich, mit $ _SERVER ['HTTP_REFERER'], jedoch gewarnt werden, diese Variable zu verwenden, da sie manipuliert werden kann und unzuverlässig ist. Von php.net:
Die Adresse der Seite (falls vorhanden), die den Benutzeragenten auf die aktuelle Seite bezog. Dies wird vom Benutzeragenten festgelegt. Nicht alle Benutzeragenten werden festlegen, und einige bieten die Möglichkeit, HTTP_REFERER als eine -Funktion zu ändern. Kurz gesagt, es kann nicht wirklich vertraut werden.
Ich empfehle Ihnen, bearbeiten Sie Ihre process_form.php, um zu überprüfen, ob die eingegebenen Daten für die Funktion benötigt, vorhanden ist. Wenn Sie ein Formular mit GET haben, können Sie verwenden:
if(!empty($_GET['myFormFieldName'])) {
// process
}
oder bei Verwendung von POST:
if(!empty($_POST['myFormFieldName'])) {
// process
}
Sie sollten Sitzungen überprüfen, ob der Benutzer über den richtigen Prozess gegangen ist, um die letzte Seite zu erreichen.
- 1. PHP: direkten Zugriff auf Seite
- 2. Direkten Zugriff auf JSON Web Service verhindern
- 3. direkten Zugriff auf alle Ansichten zeigen/Redirect Seite außer Login-Seite auf Fehler, wenn Benutzer
- 4. PHP Zugriff nur auf bestimmte Referrer-URL/Seite erlauben
- 5. direkten Skript Zugriff auf eine Datei
- 6. Direkten URL-Zugriff von Node.js-Anwendung verhindern
- 7. Docker Netzwerk direkten Zugriff auf Container
- 8. nginx: Verzeichnis blockieren, aber Zugriff auf das Unterverzeichnis erlauben
- 9. web2py - externen Zugriff erlauben - wie?
- 10. Suppress Outlook Popup-Zugriff erlauben
- 11. Zugriff auf einen Ordner mit htaccess erlauben
- 12. Verwendung von self> ivar beim direkten Zugriff auf Instanzvariablen
- 13. Entwerfen MVC Crud mit Modal Problem (Nicht erlauben direkten Zugriff auf Aktion erstellen)
- 14. Symfony2: ACL erlauben den Zugriff auf Routen mit Schlüsseln
- 15. Den Zugriff auf den Ordner verweigern, aber den Zugriff auf eine Datei in diesem Ordner zulassen
- 16. Wie Zugriff auf eine ‚Seite‘ auf CakePHP2
- 17. Zugriff auf den Variablennamen
- 18. Vermeiden Sie direkten Zugriff auf statische Inhalte in Webapps
- 19. Spring Security Benutzer angemeldet, aber umgeleitet Zugriff auf verweigerte Seite
- 20. Zugriff auf ASP-Seite von Java
- 21. Zugriff auf den Cache von Google Chrome
- 22. Anonymen Benutzern den Zugriff auf Sonar verweigern
- 23. Direkten URL-Zugriff auf Rails Controller-Methoden verhindern
- 24. Web.config erlauben Standort Zugriff für bestimmte Benutzer
- 25. Zugriff auf PageMethod von Aspx Seite
- 26. Wie Zugriff auf Usercontrol-Werte von Seite?
- 27. Zugriff auf die Registrierungsseite Zugriff nur auf den Admin
- 28. Linux: Festplatte direkten Zugriff (ohne FS) von C-Programm
- 29. Zugriff nur innerhalb des Landes erlauben
- 30. Der Zugriff auf die Eigenschaften eines Objekts kann durch den Zugriff auf den Typ