Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 37886|Svar: 4

[ASP.NET] mvc ajax med AntiForgeryToken for at forhindre CSRF-angreb

[Kopier link]
Opslået på 02/11/2017 10.06.29 | | | |
Det ses ofte, at ajax-postdata til serveren i projektet ikke er markeret med anti-forfalskningstags, hvilket forårsager CSRF-angreb, og det er meget nemt at tilføje anti-forfalskningsmærker til Asp.net MVC ved at tilføje Html.AntiForgeryToken() til formularen.
Html.AntiForgeryToken() genererer et par krypterede strenge, der gemmes i cookies og input. Vi bringer også AntiForgeryToken i ajax-indlægget
Html.AntiForgeryToken() i MVC er et tiltag til at forhindre cross-site request forgery (CSRF: Cross-site request forgery) angreb, som adskiller sig fra XSS (XSS er også kendt som CSS: Cross-Site-Script), XSS bruger generelt betroede brugere på siden til at indsætte ondsindet scriptkode i netværket for at angribe. CSRF er derimod en pseudo-betroet bruger, der angriber en hjemmeside.
Lad os først se koden således:

Når den kører, ser den genererede html-kode sådan ud:



Lad os klikke på testknappen for at anmode om en test og se, om den indeholder anti-forfalskningscookies, som vist i figuren nedenfor:



Koden i controlleren er som følger:

Vi skal tilføje funktionen ValidateAntiForgeryToken til hver controller; hvis brugeren ikke medbringer AntiForgeryToken, kan vi returnere en venlig prompt til brugeren, som følger:







Tidligere:asp.net mvc BindAttribut-bindingsfunktion
Næste:En af sammenligningerne mellem CMMI og Agile: den væsentlige forskel mellem de to
 Udlejer| Opslået på 02/11/2017 11.05.37 |
For ovenstående metode skal du tilpasse funktionen, og du kan ikke bruge standardfunktionen ValidateAntiForgeryToken.

Standardfunktionen er at tage værdien i formularformen og derefter vurdere den



Jeg indkapslede en postmetode med jQuery med anti-forfalskningsvalidering, og koden er som følger:



 Udlejer| Opslået på 02/11/2017 11.17.36 |
IsAjaxRequest for at afgøre, om det er en ajax-anmodning

I bund og grund afgør IsAjaxRequest(), om der er et X-Requested-With-felt i headeren, og om det er en XMLHttpRequest

At kigge i dokumentationen er nytteløst, det afhænger af kildekoden.
 Udlejer| Opslået på 20/02/2021 19.22.26 |
ASP.NET CSRF-angreb Ajax-anmodning indkapsling
https://www.itsvse.com/thread-8077-1-1.html
Opslået på 09/12/2021 18.37.56 |
testtesttesttest
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com