Was sind die CSRF-Verteidigungsmethoden?
Csrf-Verteidigungsmethoden umfassen: 1. Überprüfen Sie das HTTP-Referer-Feld. 2. Fügen Sie der Anforderungsadresse ein Token hinzu und überprüfen Sie es. 3. Passen Sie Attribute im HTTP-Header an und überprüfen Sie es. CSRF ist eine Angriffsmethode, die Benutzer dazu zwingt, unbeabsichtigte Vorgänge an der Webanwendung auszuführen, bei der sie gerade angemeldet sind.

csrf ist eine Angriffsmethode, die Benutzer dazu zwingt, unbeabsichtigte Vorgänge an der aktuell angemeldeten Webanwendung auszuführen.
csrf-Abwehrmethoden:
Es gibt derzeit drei Hauptstrategien zur Abwehr von CSRF-Angriffen:
1. Überprüfen Sie das HTTP-Referer-Feld.
2. In der Anforderungsadresse Token hinzufügen und überprüfen;
3. Passen Sie die Attribute im HTTP-Header an und überprüfen Sie.
Lassen Sie uns im Detail darüber sprechen:
(1) Überprüfen Sie das HTTP-Referer-Feld
Gemäß dem HTTP-Protokoll gibt es ein Feld in der HTTP-Header namens Referer, der die Quelladresse der HTTP-Anfrage aufzeichnet. Normalerweise stammen Anfragen zum Zugriff auf eine sichere, eingeschränkte Seite von derselben Website. Wenn ein Hacker einen CSRF-Angriff auf die Website einer Bank durchführen möchte, kann er nur eine Anfrage auf seiner eigenen Website erstellen. Wenn ein Benutzer eine Anfrage über die Website des Hackers an die Bank sendet, verweist der Referrer der Anfrage auf die eigene Website des Hackers .
Um sich gegen CSRF-Angriffe zu schützen, muss die Website der Bank daher nur ihren Referrer-Wert für jede Übertragungsanfrage überprüfen. Wenn es sich um einen Domainnamen handelt, der mit bank.example beginnt, bedeutet dies, dass die Anfrage von der Bank stammt Website selbst. Ja, legal. Handelt es sich bei dem Referrer um eine andere Website, handelt es sich möglicherweise um einen CSRF-Angriff eines Hackers und die Anfrage wird abgelehnt.
Der offensichtliche Vorteil dieser Methode besteht darin, dass sie einfach und leicht zu implementieren ist. Normale Website-Entwickler müssen sich keine Sorgen über CSRF-Schwachstellen machen. Sie müssen lediglich allen sicherheitsrelevanten Anfragen einen Interceptor hinzufügen das Ende, um den Referrer-Wert zu überprüfen. Insbesondere für das aktuell vorhandene System besteht keine Notwendigkeit, den vorhandenen Code und die Logik des aktuellen Systems zu ändern, es besteht kein Risiko und es ist sehr praktisch.
(2) Token zur Anfrageadresse hinzufügen und überprüfen
Der Grund für den Erfolg des CSRF-Angriffs liegt darin, dass der Hacker die Anfrage des Benutzers vollständig fälschen kann Die Anforderungen in der Anforderung Alle Benutzerauthentifizierungsinformationen sind in Cookies vorhanden, sodass Hacker direkt die eigenen Cookies des Benutzers verwenden können, um die Sicherheitsüberprüfung zu bestehen, ohne die Authentifizierungsinformationen zu kennen.
Um CSRF zu widerstehen, besteht der Schlüssel darin, Informationen in die Anfrage einzufügen, die Hacker nicht fälschen können, und diese Informationen sind im Cookie nicht vorhanden. Sie können der HTTP-Anfrage ein zufällig generiertes Token als Parameter hinzufügen und auf der Serverseite einen Interceptor erstellen, um das Token zu überprüfen. Wenn in der Anfrage kein Token vorhanden ist oder der Token-Inhalt falsch ist, wird davon ausgegangen, dass dies der Fall ist ein CSRF-Angriff und die Anfrage wird abgelehnt.
(3) Passen Sie Attribute im HTTP-Header an und überprüfen Sie
Diese Methode verwendet auch Token zur Überprüfung. Der Unterschied zur vorherigen Methode besteht darin, dass hier anstelle der Wenn Sie das Token als Parameter in der HTTP-Anfrage verwenden, fügt es es in ein benutzerdefiniertes Attribut im HTTP-Header ein. Über die XMLHttpRequest-Klasse können Sie das HTTP-Header-Attribut csrftoken allen Anforderungen dieses Typs gleichzeitig hinzufügen und den Token-Wert darin einfügen.
Dies beseitigt die Unannehmlichkeiten beim Hinzufügen eines Tokens zur Anforderung in der vorherigen Methode. Gleichzeitig wird die über XMLHttpRequest angeforderte Adresse nicht in der Adressleiste des Browsers aufgezeichnet, und es besteht kein Grund zur Sorge Token wird über den Referrer an andere Websites weitergegeben.
Diese Methode weist jedoch große Einschränkungen auf. Die XMLHttpRequest-Anforderung wird normalerweise für die teilweise asynchrone Aktualisierung der Seite in der Ajax-Methode verwendet. Nicht alle Anforderungen sind für die Initiierung mit dieser Klasse geeignet, und die durch diese Klassenanforderung erhaltene Seite kann vom Browser nicht aufgezeichnet werden, sodass vorwärts und rückwärts , und Aktualisierung kann durchgeführt werden, Sammlung und andere Vorgänge bringen Unannehmlichkeiten für Benutzer mit sich.
Wenn Sie diese Methode zum Schutz verwenden möchten, müssen Sie außerdem bei älteren Systemen, die nicht über CSRF-Schutz verfügen, alle Anforderungen in XMLHttpRequest-Anforderungen ändern. Dadurch wird fast die gesamte Website neu geschrieben, was zweifellos kostspielig ist . Es ist inakzeptabel.
Wenn Sie mehr über verwandte Themen erfahren möchten, können Sie die chinesische PHP-Website besuchen.
Das obige ist der detaillierte Inhalt vonWas sind die CSRF-Verteidigungsmethoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Heiße KI -Werkzeuge
Undress AI Tool
Ausziehbilder kostenlos
Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos
AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.
Clothoff.io
KI-Kleiderentferner
Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!
Heißer Artikel
Heiße Werkzeuge
Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor
SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen
Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
Dreamweaver CS6
Visuelle Webentwicklungstools
SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
Heiße Themen
Injektionsangriffe verhindern: Java-Sicherheitskontrollmethoden
Jun 30, 2023 pm 05:16 PM
Java ist eine weit verbreitete Programmiersprache, mit der verschiedene Arten von Anwendungen entwickelt werden. Aufgrund ihrer Beliebtheit und weiten Verbreitung sind Java-Programme jedoch auch zu einem Ziel von Hackern geworden. In diesem Artikel wird erläutert, wie Sie mit einigen Methoden Java-Programme vor der Bedrohung durch Befehlsinjektionsangriffe schützen können. Bei einem Command-Injection-Angriff handelt es sich um eine Hacking-Technik, die unkontrollierte Vorgänge ausführt, indem sie bösartige Befehle in Eingabeparameter einfügt. Diese Art von Angriff kann es Hackern ermöglichen, Systembefehle auszuführen, auf vertrauliche Daten zuzugreifen oder Systemrechte zu erlangen. Um dies zu verhindern
Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel
Aug 13, 2023 pm 04:43 PM
Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Mit der Entwicklung des Internets sind Netzwerksicherheitsprobleme immer ernster geworden. Unter ihnen gehören Cross-SiteScripting (XSS) und Cross-SiteRequestForgery (CSRF) zu den häufigsten Angriffsmethoden. Laravel bietet als beliebtes PHP-Entwicklungsframework Benutzern eine Vielzahl von Sicherheitsmechanismen
PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe?
Jun 01, 2024 am 10:36 AM
PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe? Ein Cross-Site Request Forgery (CSRF)-Angriff ist eine Art Netzwerkangriff, bei dem ein Angreifer einen Benutzer dazu verleitet, unbeabsichtigte Aktionen innerhalb der Webanwendung des Opfers auszuführen. Wie funktioniert CSRF? CSRF-Angriffe machen sich die Tatsache zunutze, dass die meisten Webanwendungen das Senden von Anfragen zwischen verschiedenen Seiten innerhalb desselben Domänennamens ermöglichen. Der Angreifer erstellt eine bösartige Seite, die Anfragen an die Anwendung des Opfers sendet und so nicht autorisierte Aktionen auslöst. Wie kann man CSRF-Angriffe verhindern? 1. Anti-CSRF-Token verwenden: Weisen Sie jedem Benutzer ein eindeutiges Token zu und speichern Sie es in der Sitzung oder im Cookie. Fügen Sie in Ihren Antrag ein ausgeblendetes Feld für die Übermittlung dieses Tokens ein
Vergleichende Analyse der domänen- und standortübergreifenden Anfragefälschung von PHP-Sitzungen
Oct 12, 2023 pm 12:58 PM
Vergleichende Analyse der domänen- und standortübergreifenden Anforderungsfälschung von PHPSession Mit der Entwicklung des Internets ist die Sicherheit von Webanwendungen besonders wichtig geworden. PHPSession ist ein häufig verwendeter Authentifizierungs- und Sitzungsverfolgungsmechanismus bei der Entwicklung von Webanwendungen, während Cross-Origin-Anfragen und Cross-Site-Request-Forgery (CSRF) zwei große Sicherheitsbedrohungen darstellen. Um die Sicherheit von Benutzerdaten und Anwendungen zu schützen, müssen Entwickler den Unterschied zwischen domänenübergreifender Sitzung und CSRF verstehen und übernehmen
HTTP-Request-Sniffing-Schutzmethode im Nginx-Reverse-Proxy
Jun 11, 2023 am 08:12 AM
Mit der Entwicklung des Internets sind Webserver und Anwendungen immer komplexer geworden und Sicherheitsangriffe haben nach und nach zugenommen. Nginx ist eines der am weitesten verbreiteten Tools in der Webserver- und Lastausgleichstechnologie. Der Reverse-Proxy-Mechanismus von Nginx kann ihn zu einem zuverlässigen Anwendungsserver machen, ist aber auch ein weit verbreitetes Angriffsziel. In diesem Artikel erfahren Sie, wie Sie sich im Nginx-Reverse-Proxy gegen HTTP-Request-Sniffing-Angriffe verteidigen können. Was ist ein HTTP-Request-Sniffing-Angriff? HTTP-Request-Sniffing-Angriffe kommen häufig vor
Was ist Cross-Site-Anforderungsfälschung (CSRF) und wie implementieren Sie den CSRF-Schutz in PHP?
Apr 07, 2025 am 12:02 AM
In PHP können Sie CSRF -Angriffe effektiv verhindern, indem Sie unvorhersehbare Token verwenden. Spezifische Methoden umfassen: 1. CSRF -Token in der Form erzeugen und einbetten; 2. Überprüfen Sie die Gültigkeit des Tokens bei der Bearbeitung der Anfrage.
CSRF-Angriff in PHP
May 25, 2023 pm 08:31 PM
Mit der kontinuierlichen Weiterentwicklung des Internets gibt es immer mehr Webanwendungen, aber auch Sicherheitsaspekte geraten immer mehr in den Fokus. CSRF-Angriffe (CrossSiteRequestForgery, Cross-Site-Request-Forgery) sind ein häufiges Netzwerksicherheitsproblem. Was ist ein CSRF-Angriff? Der sogenannte CSRF-Angriff bedeutet, dass der Angreifer die Identität des Benutzers stiehlt und im Namen des Benutzers illegale Operationen ausführt. Laienhaft ausgedrückt bedeutet dies, dass der Angreifer den Anmeldestatus des Benutzers nutzt, um ohne Wissen des Benutzers illegale Vorgänge durchzuführen.
PHP und Vue.js entwickeln Anwendungen, die sich gegen Cross-Site-Request-Forgery-Angriffe (CSRF) schützen
Jul 05, 2023 pm 07:21 PM
PHP und Vue.js entwickeln Anwendungen, die sich gegen Cross-Site-Request-Forgery-Angriffe (CSRF) schützen. Mit der Entwicklung von Internetanwendungen sind Cross-Site-Request-Forgery-Angriffe (CSRF) zu einer häufigen Sicherheitsbedrohung geworden. Es verwendet die angemeldete Identität des Benutzers, um gefälschte Anfragen zur Durchführung böswilliger Vorgänge zu stellen, wie z. B. das Ändern von Benutzerkennwörtern, das Veröffentlichen von Spam usw. Um die Sicherheit unserer Benutzer und die Integrität unserer Daten zu schützen, müssen wir effektives CSRF in unseren Anwendungen implementieren


