Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 37886|Odgovoriti: 4

[ASP.NET] mvc ajax z AntiForgeryTokenom za preprečevanje napadov CSRF

[Kopiraj povezavo]
Objavljeno na 2. 11. 2017 10:06:29 | | | |
Pogosto se zgodi, da podatki za objavo Ajaxa na strežniku v projektu niso označeni z oznakami proti ponarejevanju, kar povzroča napade CSRF, in zelo enostavno je dodati protiponarejevalske oznake Asp.net MVC z dodajanjem Html.AntiForgeryToken() v obrazec.
Html.AntiForgeryToken() ustvari par šifriranih nizov, ki sta shranjena v piškotkih in vhodu. AntiForgeryToken prav tako predstavljamo v objavi o ajax
Html.AntiForgeryToken() v MVC je ukrep za preprečevanje napadov s ponarejanjem zahtevkov med lokacijami (CSRF: Cross-site request forgery), ki se razlikuje od XSS (XSS je znan tudi kot CSS: Cross-Site-Script). XSS običajno uporablja zaupanja vredne uporabnike na strani za vstavljanje zlonamerne skriptne kode v omrežje za napad. CSRF pa je psevdozaupanja vreden uporabnik, ki napada spletno stran.
Najprej si poglejmo kodo takole:

Med izvajanjem generirana html koda izgleda takole:



Kliknimo gumb za testiranje, da zahtevamo test in preverimo, ali ima piškotke proti ponarejevanju, kot je prikazano na spodnji sliki:



Koda v krmilniku je naslednja:

Vsakemu kontrolerju moramo dodati funkcijo ValidateAntiForgeryToken; če uporabnik ne prinese AntiForgeryTokena, mu lahko vrnemo prijazen poziv, kot sledi:







Prejšnji:asp.net funkcija vezave mvc BindAttribute
Naslednji:Ena od primerjav med CMMI in Agile: bistvena razlika med njima
 Najemodajalec| Objavljeno na 2. 11. 2017 11:05:37 |
Za zgornjo metodo morate funkcijo prilagoditi in ne morete uporabiti privzete funkcije ValidateAntiForgeryToken

Privzeta lastnost je, da vrednost vzamemo v obliki in jo nato ocenimo



Inkapsuliral sem post-metodo z jQuery z anti-forgery validacijo, koda pa je naslednja:



 Najemodajalec| Objavljeno na 2. 11. 2017 11:17:36 |
IsAjaxRequest za ugotavljanje, ali gre za ajax zahtevo

V bistvu IsAjaxRequest() določa, ali je v glavi polje X-Requested-With in ali gre za XMLHttpRequest

Gledanje dokumentacije je neuporabno, odvisno je od izvorne kode.
 Najemodajalec| Objavljeno na 20. 02. 2021 19:22:26 |
ASP.NET CSRF napad Ajax zahteva enkapsulacijo
https://www.itsvse.com/thread-8077-1-1.html
Objavljeno na 9. 12. 2021 18:37:56 |
testtesttesttest
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com