Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 37886|Antwort: 4

[ASP.NET] mvc ajax mit AntiForgeryToken zu verhindern, um CSRF-Angriffe zu verhindern

[Link kopieren]
Veröffentlicht am 02.11.2017 10:06:29 | | | |
Es ist oft zu beobachten, dass die Ajax-Postdaten auf den Server im Projekt nicht mit Anti-Fälschungs-Tags gekennzeichnet sind, was CSRF-Angriffe verursacht, und es ist sehr einfach, Anti-Fälschungsmarkierungen zu Asp.net MVC hinzuzufügen, indem man Html.AntiForgeryToken() zum Formular hinzufügt.
Html.AntiForgeryToken() erzeugt ein Paar verschlüsselter Strings, die in Cookies und Eingaben gespeichert werden. Wir bringen auch AntiForgeryToken im Ajax-Beitrag
Html.AntiForgeryToken() in MVC ist eine Maßnahme zur Verhinderung von Cross-Site Request Forgery (CSRF: Cross-site Request Forgery) Angriffen, die sich von XSS unterscheidet (XSS ist auch bekannt als CSS: Cross-Site-Script); XSS nutzt im Allgemeinen vertrauenswürdige Benutzer auf der Seite, um bösartigen Skriptcode ins Netzwerk einzufügen, um anzugreifen. CSRF hingegen ist ein pseudo-vertrauenswürdiger Nutzer, der eine Website angreift.
Zuerst betrachten wir den Code wie folgt:

Beim Ausführen sieht der generierte HTML-Code so aus:



Klicken wir auf den Test-Button, um einen Test anzufordern und zu sehen, ob er Anti-Fälschungs-Cookies enthält, wie in der untenstehenden Abbildung gezeigt:



Der Code im Controller lautet wie folgt:

Wir müssen die Funktion ValidateAntiForgeryToken zu jedem Controller hinzufügen; wenn der Benutzer das AntiForgeryToken nicht mitbringt, können wir dem Nutzer eine freundliche Aufforderung wie folgt zurückgeben:







Vorhergehend:asp.net mvc BindAttribut-Bindungsfunktion
Nächster:Einer der Vergleiche zwischen CMMI und Agile: der wesentliche Unterschied zwischen beiden
 Vermieter| Veröffentlicht am 02.11.2017 11:05:37 |
Für die oben genannte Methode müssen Sie die Funktion anpassen, und Sie können die Standardfunktion ValidateAntiForgeryToken nicht verwenden

Die Standardfunktion besteht darin, den Wert im Formular zu nehmen und ihn dann zu beurteilen



Ich habe eine Post-Methode mit jQuery mit Anti-Fälschungs-Validierung kapselt, und der Code ist wie folgt:



 Vermieter| Veröffentlicht am 02.11.2017 11:17:36 |
IsAjaxRequest, um festzustellen, ob es sich um eine Ajax-Anfrage handelt

Im Wesentlichen bestimmt IsAjaxRequest(), ob es ein X-Requested-With Feld im Header gibt und ob es sich um eine XMLHttpRequest handelt

Die Dokumentation anzusehen ist nutzlos, es hängt vom Quellcode ab.
 Vermieter| Veröffentlicht am 20.02.2021 19:22:26 |
ASP.NET CSRF-Angriff Ajax-Kapselungsanforderung
https://www.itsvse.com/thread-8077-1-1.html
Veröffentlicht am 09.12.2021 18:37:56 |
testtesttesttest
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com