Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 37886|Svar: 4

[ASP.NET] mvc ajax med AntiForgeryToken för att förhindra CSRF-attacker

[Kopiera länk]
Publicerad på 2017-11-02 10:06:29 | | | |
Det ses ofta att ajax-postdata till servern i projektet inte är märkta med anti-förfalskningstaggar, vilket orsakar CSRF-attacker, och det är mycket enkelt att lägga till anti-förfalskningsmärken i Asp.net MVC genom att lägga till Html.AntiForgeryToken() i formuläret.
Html.AntiForgeryToken() genererar ett par krypterade strängar som lagras i cookies och indata. Vi tar också med AntiForgeryToken i ajax-inlägget
Html.AntiForgeryToken() i MVC är ett sätt att förhindra cross-site request forgery (CSRF: Cross-site request forgery) attacker, vilket skiljer sig från XSS (XSS är också känt som CSS: Cross-Site-Script), XSS använder generellt betrodda användare på sidan för att infoga skadlig skriptkod i nätverket för att attackera. CSRF, å andra sidan, är en pseudo-betrodd användare som attackerar en webbplats.
Först, låt oss se koden så här:

När den körs ser den genererade html-koden ut så här:



Låt oss klicka på testknappen för att begära ett test och se om det innehåller anti-förfalskningscookies, som visas i figuren nedan:



Koden i styrenheten är följande:

Vi behöver lägga till funktionen ValidateAntiForgeryToken till varje kontroller, om användaren inte tar med AntiForgeryToken kan vi returnera en vänlig prompt till användaren, enligt följande:







Föregående:asp.net mvc BindAttribut-bindningsfunktion
Nästa:En av jämförelserna mellan CMMI och Agile: den väsentliga skillnaden mellan de två
 Hyresvärd| Publicerad på 2017-11-02 11:05:37 |
För ovanstående metod måste du anpassa funktionen, och du kan inte använda standardfunktionen ValidateAntiForgeryToken

Standardfunktionen är att ta värdet i formulärformen och sedan bedöma det



Jag kapslade in en postmetod med jQuery med anti-förfalskningsvalidering, och koden är följande:



 Hyresvärd| Publicerad på 2017-11-02 11:17:36 |
IsAjaxRequest för att avgöra om det är en ajax-förfrågan

I princip avgör IsAjaxRequest() om det finns ett X-Requested-With-fält i headern och om det är en XMLHttpRequest

Att titta på dokumentationen är värdelöst, det beror på källkoden.
 Hyresvärd| Publicerad på 2021-02-20 19:22:26 |
ASP.NET CSRF-attack Ajax-begäran om inkapsling
https://www.itsvse.com/thread-8077-1-1.html
Publicerad på 2021-12-09 18:37:56 |
testtesttesttest
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com