Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 37886|Svare: 4

[ASP.NET] mvc ajax med AntiForgeryToken for å forhindre CSRF-angrep

[Kopier lenke]
Publisert på 02.11.2017 10:06:29 | | | |
Det sees ofte at ajax-postdata til serveren i prosjektet ikke er merket med anti-forfalskningstagger, noe som forårsaker CSRF-angrep, og det er veldig enkelt å legge til anti-forfalskningsmerker i Asp.net MVC ved å legge til Html.AntiForgeryToken() i skjemaet.
Html.AntiForgeryToken() genererer et par krypterte strenger som lagres i informasjonskapsler og input. Vi tar også med AntiForgeryToken i ajax-innlegget
Html.AntiForgeryToken() i MVC er et tiltak for å forhindre cross-site request forgery (CSRF: Cross-site request forgery)-angrep, som skiller seg fra XSS (XSS er også kjent som CSS: Cross-Site-Script), XSS bruker vanligvis betrodde brukere på siden for å sette inn ondsinnet skriptkode i nettverket for å angripe. CSRF, derimot, er en pseudo-tillitsfull bruker som angriper et nettsted.
La oss først se på koden slik:

Når den kjører, ser den genererte html-koden slik ut:



La oss klikke på testknappen for å be om en test og se om den har informasjonskapsler mot forfalskning, som vist i figuren nedenfor:



Koden i kontrolleren er som følger:

Vi må legge til funksjonen ValidateAntiForgeryToken på hver kontroller, hvis brukeren ikke tar med AntiForgeryToken, kan vi returnere en vennlig prompt til brukeren, som følger:







Foregående:asp.net mvc BindAttribut-bindingsfunksjon
Neste:En av sammenligningene mellom CMMI og Agile: den essensielle forskjellen mellom de to
 Vert| Publisert på 02.11.2017 11:05:37 |
For metoden ovenfor må du tilpasse funksjonen, og du kan ikke bruke standard ValidateAntiForgeryToken-funksjonen

Standardfunksjonen er å ta verdien i formformen og deretter vurdere den



Jeg kapslet inn en post-metode med jQuery med anti-forfalskningsvalidering, og koden er som følger:



 Vert| Publisert på 02.11.2017 11:17:36 |
IsAjaxRequest for å avgjøre om det er en ajax-forespørsel

I hovedsak avgjør IsAjaxRequest() om det finnes et X-Requested-With-felt i headeren og om det er en XMLHttpRequest

Å se på dokumentasjonen er ubrukelig, det avhenger av kildekoden.
 Vert| Publisert på 20.02.2021 19:22:26 |
ASP.NET CSRF-angrep Ajax-forespørsel innkapsling
https://www.itsvse.com/thread-8077-1-1.html
Publisert på 09.12.2021 18:37:56 |
testtesttesttest
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com