Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 37886|Válasz: 4

[ASP.NET] mvc ajax AntiForgeryToken-lel, hogy megakadályozza a CSRF támadásokat

[Linket másol]
Közzétéve 2017. 11. 02. 10:06:29 | | | |
Gyakran előfordul, hogy a projektben az ajax posztadatait a szerverre nem jelölik hamisításellenes címkék, ami CSRF támadásokat okoz, és nagyon könnyű hamisítás elleni jeleket hozzáadni Asp.net MVC-hez a Html.AntiForgeryToken() hozzáadásával az űrlaphoz.
A Html.AntiForgeryToken() egy pár titkosított stringet generál, amelyeket sütikben és bemenetben tárolnak. Az ajax posztban is az AntiForgeryToken-t is bevonjuk
A Html.AntiForgeryToken() az MVC-ben egy olyan intézkedés, amely megakadályozza a kereszt-oldalú kérelmezési hamisítást (CSRF: Cross-site request forgery), amely eltér az XSS-től (az XSS más néven CSS: Cross-Site-Script), az XSS általában megbízható felhasználókat használ a weboldalon, hogy rosszindulatú szkriptkódot helyezzenek be a hálózatba támadás céljából. A CSRF ezzel szemben egy ál-megbízható felhasználó, aki megtámadja a weboldalt.
Először is nézzük a kódot a következőként:

Futtatáskor a generált html kód így néz ki:



Kattintsunk a tesztgombra, hogy kérjünk tesztet, és nézzük meg, van-e hamisításellenes sütik benne, ahogy az alábbi ábrán látható:



A vezérlő kódja a következő:

Minden vezérlőhöz hozzá kell adnunk a ValidateAntiForgeryToken funkciót, ha a felhasználó nem hozza az AntiForgeryToken-t, akkor egy barátságos promptot küldhetünk neki az alábbiak szerint:







Előző:asp.net mvc BindAttribute binding feature
Következő:Az egyik összehasonlítás a CMMI és az Agile között: a lényegi különbség a kettő között
 Háziúr| Közzétéve 2017. 11. 02. 11:05:37 |
A fenti módszerhez a funkciót kell testreszabnod, és nem használhatod az alapértelmezett ValidateAntiForgeryToken funkciót

Az alapértelmezett funkció, hogy az értéket az űrlap formájában veszed, majd megítéljük



A jQuery-vel egy poszt módszert kapszuláltam össze hamisításellenes validációval, és a kód a következő:



 Háziúr| Közzétéve 2017. 11. 02. 11:17:36 |
IsAjaxRequest annak megállapítására, hogy ez ajax kérés-e

Lényegében az IsAjaxRequest() határozza meg, hogy van-e X-Requested-With mező a fejlécben, és hogy ez XMLHttpRequest-e-e

A dokumentáció nézése haszontalan, a forráskódtól függ.
 Háziúr| Közzétéve 2021. 02. 20. 19:22:26 |
ASP.NET CSRF támadás Ajax kapszulációt kér
https://www.itsvse.com/thread-8077-1-1.html
Közzétéve 2021. 12. 09. 18:37:56 |
testtesttesttest test
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com