Heim Backend-Entwicklung PHP-Tutorial So verwenden Sie PHP-Formulare, um CSRF-Angriffe zu verhindern

So verwenden Sie PHP-Formulare, um CSRF-Angriffe zu verhindern

Jun 24, 2023 am 11:53 AM
csrf攻击 php表单 防范技巧

Mit der kontinuierlichen Weiterentwicklung der Netzwerktechnologie sind Sicherheitsprobleme zunehmend zu einem Problem geworden, das bei der Entwicklung von Netzwerkanwendungen nicht ignoriert werden kann. Unter diesen ist der Cross-Site-Request-Forgery-Angriff (CSRF) eine häufige Angriffsmethode. Sein Hauptzweck besteht darin, den Benutzer dazu zu nutzen, eine illegale Anfrage an den Hintergrund zu initiieren, indem er dem Benutzer ermöglicht, eine böswillige Anfrage im Browser zu initiieren auf der Website angemeldet ist. Dies führt zu serverseitigen Sicherheitslücken. In PHP-Anwendungen ist die Verwendung der Formularvalidierung ein wirksames Mittel, um CSRF-Angriffe zu verhindern.

  1. CSRF-Token-Überprüfung hinzufügen

CSRF-Angriffe nutzen hauptsächlich die Identität angemeldeter Benutzer, um Remote-Angriffe durchzuführen. Der direkteste Weg, sich vor dieser Angriffsmethode zu schützen, besteht darin, den Seitendaten einige unkonventionelle Werte hinzuzufügen und Formulare, wodurch jede Formularanforderung nur einmal gesendet werden kann. Bei diesen Werten handelt es sich um CSRF-Tokens, mit denen überprüft wird, ob die Identitätsinformationen beim Absenden des Formulars legal sind. Bei der Verarbeitung des Formulars im Hintergrund muss das Token überprüft werden. Erst wenn es mit dem voreingestellten Token übereinstimmt, kann die Anfrage weiter verarbeitet werden.

Ein Beispielcode lautet wie folgt:

// 生成Token值,通常可以在session中设置

session_start();

$token = md5(uniqid(mt_rand(), true));

$_SESSION['csrf_token'] = $token;

// 应用到表单中

<input type="hidden" name="csrf_token" value="<?=$_SESSION['csrf_token']?>"/>
Nach dem Login kopieren

Für die Formularübermittlung ist vor der Verarbeitung der Daten eine Token-Verifizierung erforderlich, wie folgt:

// 获取表单提交的Token

$submittedToken = $_POST['csrf_token'];

// 验证Token是否合法

if (!isset($_SESSION['csrf_token']) || $submittedToken !== $_SESSION['csrf_token']) {

    die('Token validation failed, request denied');

}
Nach dem Login kopieren

Im obigen Code verwenden wir den Sitzungsmechanismus von PHP, um ein zufälliges und nicht dupliziertes Token zu generieren Wert und wird in der Sitzung gespeichert. Im Formular müssen wir den Token-Wert als Feld im ausgeblendeten Feld an den Hintergrund übergeben, damit er beim Absenden des Formulars an den Server gesendet werden kann. Auf der Serverseite müssen wir den angeforderten Token-Wert überprüfen. Wenn der übermittelte Token nicht mit dem vordefinierten Token übereinstimmt, muss die Anfrage abgelehnt werden.

  1. Konfigurieren des Referrer-Richtlinien-Headers

Referrer-Richtlinie ist ein HTTP-Header, der verwendet wird, um zu steuern, ob der Browser das Referrer-Feld einschließt, wenn er Anfragen an Websites von Drittanbietern sendet. Wenn wir Anfragen nach illegalen Referrer-Feldern während der Formularverarbeitung direkt ablehnen, können wir uns wirksam gegen CSRF-Angriffe wehren.

In PHP können wir den folgenden Code verwenden, um den Referrer-Policy-Header festzulegen:

header('Referrer-Policy: no-referrer');
Nach dem Login kopieren

Der obige Code weist den Browser an, die Referrer-Header-Informationen beim Senden einer Anfrage nicht einzuschließen. Selbst wenn ein Angreifer versucht, einen CSRF-Angriff durch Fälschung des Referrer-Headers durchzuführen, wird dieser auf diese Weise vom Browser abgelehnt und die Anfrage wird nicht an den Server gesendet.

  1. Fügen Sie dem Formular die Authentifizierung mit „Bestätigungscode“ oder „Passwort“ hinzu

Zusätzlich zum Hinzufügen von CSRF-Token zum Formular können wir auch zusätzliche Authentifizierungsmethoden wie Bestätigungscode oder Passwort hinzufügen, um die Sicherheit des Formulars zu erhöhen CSRF-Angriffe verhindern. Obwohl diese Methode relativ umständlich ist, ist sie sehr effektiv, da der Angreifer unabhängig davon, wie er versucht, den Server zu täuschen, zusätzliche Authentifizierungslinks durchlaufen muss, was den Angriff erschwert.

  1. Vermeiden Sie die Verwendung der GET-Methode zum Senden von Formularen.

CSRF-Angriffe werden meist durch GET-Anfragen initiiert. Daher versuchen wir, die GET-Methode zum Senden von Daten im Formular zu vermeiden. Wenn die GET-Methode verwendet werden muss, müssen wir dem Formular einen Token-Wert oder eine andere Authentifizierungsmethode hinzufügen, um die Sicherheit des Formulars zu erhöhen.

Kurz gesagt ist die Verhinderung von CSRF-Angriffen ein Thema, dem bei der PHP-Anwendungsentwicklung Aufmerksamkeit geschenkt werden muss. Durch den sinnvollen Einsatz verschiedener Sicherheitsmechanismen wie Token-Wert, Referrer-Policy-Header und Verifizierungscode können wir Anwendungen wirksam vor der Bedrohung durch CSRF-Angriffe schützen. Gleichzeitig müssen wir weiterhin auf die neuesten Netzwerksicherheitsprobleme und Angriffsmethoden achten und unsere Sicherheitsvorkehrungen zeitnah aktualisieren und verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP-Formulare, um CSRF-Angriffe zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie die Zwei-Faktor-Authentifizierung in PHP-Formularen, um die Sicherheit zu verbessern So verwenden Sie die Zwei-Faktor-Authentifizierung in PHP-Formularen, um die Sicherheit zu verbessern Jun 24, 2023 am 09:41 AM

Heutzutage, im Zeitalter der Digitalisierung und Vernetzung, ist Sicherheit zu einem wichtigen Faktor geworden, der in der Internetwelt nicht außer Acht gelassen werden darf. Gerade in Geschäftsszenarien mit hoher Datensensibilität ist es besonders wichtig, wie die Sicherheit von Websites, Anwendungen und Benutzerdaten verbessert werden kann. Die Verwendung der zweistufigen Authentifizierung in PHP-Formularen zur Erhöhung der Sicherheit ist eine praktikable Lösung. Zwei-Faktor-Authentifizierung (2FA), auch bekannt als doppelte Authentifizierung und Multi-Faktor-Authentifizierung, bezieht sich auf den Prozess, bei dem der Benutzer das reguläre Kontopasswort vervollständigt.

Wie verhindert das Design der Java-Framework-Sicherheitsarchitektur CSRF-Angriffe? Wie verhindert das Design der Java-Framework-Sicherheitsarchitektur CSRF-Angriffe? Jun 06, 2024 pm 12:21 PM

Das Java-Framework verhindert CSRF-Angriffe durch die folgenden Methoden: CSRFToken überprüfen: Der Server überprüft, ob das CSRFToken in der Anfrage mit dem Token in der Sitzung übereinstimmt. SynchronizerTokenPattern (STP): Mithilfe eines Tokens, der einem bestimmten Formular oder Link zugeordnet ist, überprüft der Server, ob das Token mit dem Token übereinstimmt, das gesendet wird, wenn das Formular/der Link gesendet oder angeklickt wird. DoubleSubmitCookies: Verwendet zwei Cookies, um zu überprüfen, ob die Anfrage von einem gültigen Benutzer stammt.

Tipps zum Schutz von PHP-Formularen: So verhindern Sie wiederholte Formularübermittlungen Tipps zum Schutz von PHP-Formularen: So verhindern Sie wiederholte Formularübermittlungen Jun 24, 2023 am 11:50 AM

Bei der Verwendung von PHP-Formularen zur Datenübermittlung tritt häufig das Problem der wiederholten Formularübermittlung auf. Dies kann zu ungenauen Daten oder, schlimmer noch, zu Systemabstürzen führen. Daher ist es sehr wichtig zu verstehen, wie man doppelte Einreichungen verhindert. In diesem Artikel werde ich einige PHP-Formularschutztechniken vorstellen, die Ihnen dabei helfen, wiederholte Probleme bei der Formularübermittlung effektiv zu verhindern. 1. Fügen Sie dem Formular ein Token hinzu. Das Hinzufügen eines Tokens zum Formular ist eine gängige Methode, um wiederholte Übermittlungen zu verhindern. Das Prinzip dieser Methode besteht darin, dem Formular ein verstecktes Feld hinzuzufügen, das enthält

Sicherheitsmaßnahmen zum Schutz von Ajax-Anwendungen vor CSRF-Angriffen Sicherheitsmaßnahmen zum Schutz von Ajax-Anwendungen vor CSRF-Angriffen Jan 30, 2024 am 08:38 AM

Ajax-Sicherheitsanalyse: Wie kann man CSRF-Angriffe verhindern? Einleitung: Mit der Entwicklung von Webanwendungen und der weit verbreiteten Anwendung der Front-End-Technologie ist Ajax zu einem unverzichtbaren Bestandteil der täglichen Arbeit von Entwicklern geworden. Allerdings birgt Ajax auch einige Sicherheitsrisiken für Anwendungen, wobei CSRF-Angriffe (Cross-SiteRequestForgery) am häufigsten vorkommen. Dieser Artikel beginnt mit den Prinzipien von CSRF-Angriffen, analysiert die Sicherheitsbedrohungen für Ajax-Anwendungen und bietet einige Verteidigungsmaßnahmen

Umgang mit mobilem und responsivem Design in PHP-Formularen Umgang mit mobilem und responsivem Design in PHP-Formularen Aug 10, 2023 am 11:51 AM

Umgang mit mobilem und responsivem Design in PHP-Formularen Da mobile Geräte immer beliebter werden und immer mehr Benutzer mobile Geräte für den Zugriff auf Websites verwenden, ist die Anpassung an mobile Geräte zu einem wichtigen Thema geworden. Beim Umgang mit PHP-Formularen müssen wir darüber nachdenken, wie wir eine mobilfreundliche Benutzeroberfläche und ein responsives Design erreichen können. Dieser Artikel erklärt den Umgang mit mobilem und responsivem Design in PHP-Formularen und stellt Codebeispiele bereit. 1. Responsive Formulare mit HTML5 HTML5 bietet einige neue Funktionen, mit denen sich Responsive Formulare problemlos implementieren lassen.

PHP-Sicherheitsschutz: Kontrolle von CSRF-Angriffen PHP-Sicherheitsschutz: Kontrolle von CSRF-Angriffen Jun 24, 2023 am 08:22 AM

Mit der Entwicklung des Internets nimmt die Häufigkeit von Cyberangriffen zu. Unter ihnen sind CSRF-Angriffe (Cross-SiteRequestForgery) zu einer der Hauptbedrohungen für Websites oder Anwendungen geworden. Bei einem CSRF-Angriff handelt es sich um einen Angreifer, der die angemeldete Identität eines Benutzers nutzt, um durch Fälschen von Anforderungen illegale Vorgänge durchzuführen. PHP ist eine häufig verwendete serverseitige Programmiersprache. Entwickler müssen auf den PHP-Sicherheitsschutz achten, um CSRF-Angriffe zu vermeiden. Hier sind einige Möglichkeiten, CSRF-Angriffe zu kontrollieren: 1. Verwenden Sie CSRF

So verwenden Sie PHP-Formulare, um CSRF-Angriffe zu verhindern So verwenden Sie PHP-Formulare, um CSRF-Angriffe zu verhindern Jun 24, 2023 am 11:53 AM

Mit der kontinuierlichen Weiterentwicklung der Netzwerktechnologie sind Sicherheitsprobleme zunehmend zu einem Problem geworden, das bei der Entwicklung von Netzwerkanwendungen nicht ignoriert werden darf. Unter diesen ist der Cross-Site-Request-Forgery-Angriff (CSRF) eine häufige Angriffsmethode. Sein Hauptzweck besteht darin, den Benutzer dazu zu nutzen, eine illegale Anfrage an den Hintergrund zu initiieren, indem er dem Benutzer ermöglicht, eine böswillige Anfrage im Browser zu initiieren auf der Website angemeldet ist. Dies führt zu serverseitigen Sicherheitslücken. In PHP-Anwendungen ist die Verwendung der Formularvalidierung ein wirksames Mittel, um CSRF-Angriffe zu verhindern. Fügen Sie CSRFToken hinzu, um CSRF-Angriffe zu überprüfen

Netzwerksicherheit für Linux-Server: Schutz von Webschnittstellen vor CSRF-Angriffen. Netzwerksicherheit für Linux-Server: Schutz von Webschnittstellen vor CSRF-Angriffen. Sep 11, 2023 pm 12:22 PM

Linux-Server-Netzwerksicherheit: Webschnittstellen vor CSRF-Angriffen schützen In den letzten Jahren, mit der Popularität und Entwicklung des Internets, haben die Menschen der Netzwerksicherheit immer mehr Aufmerksamkeit geschenkt. Als auf Open-Source-Prinzipien basierendes Betriebssystem verfügt Linux über umfangreiche Anwendungsmöglichkeiten und Anerkennung im Bereich der Netzwerksicherheit. Beim Einsatz von Linux-Servern ist der Schutz des Webinterfaces vor CSRF-Angriffen (Cross-SiteRequestForgery) eine entscheidende Aufgabe. Ein CSRF-Angriff ist ein Exploit

See all articles