1. Synchronizer -Token -Muster:
Dies ist die häufigste und effektivste Methode. Der Server generiert ein eindeutiges, unvorhersehbares Token (oft eine lange, zufällige Zeichenfolge) und speichert es in einer Sitzungsvariablen auf der serverseitigen Seite und schließt es auch als verstecktes Feld in das vom Benutzer eingereichte HTML-Formular ein. Wenn das Formular eingereicht wird, überprüft der Server, dass das eingereichte Token mit dem in der Sitzung gespeicherten Token entspricht. Wenn sie nicht übereinstimmen, wird die Anforderung als potenziell betrügerisch abgelehnt. Doppel einreichen Cookie: Diese Methode beinhaltet das Speichern eines zufällig erzeugten Tokens sowohl in einem Gebietsfeld als auch in einem Keks. Der Server vergleicht die Werte von beiden. Dies fügt eine zusätzliche Sicherheitsebene hinzu, da ein CSRF -Angriff sowohl das Formular als auch das Cookie manipulieren müsste.
3. HTTP Referer Header Check: Während keine zuverlässige eigenständige Methode (wie der Referer -Header leicht manipuliert werden kann), kann sie als ergänzende Maßnahme verwendet werden. Überprüfen Sie die Variable , um sicherzustellen, dass die Anforderung aus Ihrer eigenen Domäne stammt. Verlassen Sie sich jedoch immer auf andere Methoden als primäre Verteidigung, da diese Methode leicht umgangen wird. Best Practices beinhalten einen geschichteten Ansatz, der verschiedene Methoden für die maximale Sicherheit kombiniert:
random_bytes()
in PHP). Bereinigen und validieren Sie alle Eingaben streng, um andere Schwachstellen wie XSS-Angriffe zu verhindern, die mit CSRF kombiniert werden können. (HSTS): Das obige ist der detaillierte Inhalt vonWie schütze ich vor Cross-Site-Anfrage (CSRF) in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!