Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 37886|Odpověď: 4

[ASP.NET] mvc ajax s AntiForgeryTokenem pro prevenci útoků CSRF

[Kopírovat odkaz]
Zveřejněno 02.11.2017 10:06:29 | | | |
Často se stává, že data Ajaxu na serveru v projektu nejsou označena štítky proti padělání, což způsobuje útoky CSRF, a je velmi snadné přidat ochranné známky do Asp.net MVC přidáním Html.AntiForgeryToken() do formuláře.
Html.AntiForgeryToken() generuje dvojici šifrovaných řetězců, které jsou uloženy v cookies a vstupu. V příspěvku o ajaxu také přinášíme AntiForgeryToken
Html.AntiForgeryToken() v MVC je opatření k prevenci útoků padělaných požadavků mezi místy (CSRF: Cross-site request forgery), což se liší od XSS (XSS je také známý jako CSS: Cross-Site-Script). XSS obecně využívá důvěryhodné uživatele na webu k vkládání škodlivého skriptového kódu do sítě k útoku. CSRF je naopak pseudodůvěryhodný uživatel, který útočí na webovou stránku.
Nejprve se podívejme na kód následovně:

Při spuštění vypadá vygenerovaný html kód takto:



Klikněme na tlačítko test, abychom si vyžádali test a zjistili, zda obsahuje antipadělatelské cookies, jak je znázorněno na obrázku níže:



Kód v řadiči je následující:

Musíme přidat funkci ValidateAntiForgeryToken ke každému ovladači, pokud uživatel nepřinese AntiForgeryToken, můžeme mu vrátit přátelskou výzvu, a to následovně:







Předchozí:asp.net funkce bindAttribute v mvc
Další:Jedno z srovnání mezi CMMI a Agile: zásadní rozdíl mezi nimi
 Pronajímatel| Zveřejněno 02.11.2017 11:05:37 |
Pro výše uvedenou metodu musíte funkci přizpůsobit a nemůžete použít výchozí funkci ValidateAntiForgeryToken

Výchozí funkcí je vzít hodnotu ve formě formuláře a pak ji posoudit



Metodu postu jsem zapouzdřil pomocí jQuery s anti-falšovací validací a kód je následující:



 Pronajímatel| Zveřejněno 02.11.2017 11:17:36 |
IsAjaxRequest pro určení, zda se jedná o ajax požadavek

V podstatě IsAjaxRequest() určuje, zda je v hlavičce pole X-Requested-With a zda jde o XMLHttpRequest

Prohlížení dokumentace je k ničemu, záleží na zdrojovém kódu.
 Pronajímatel| Zveřejněno 20.02.2021 19:22:26 |
ASP.NET CSRF útok Ajax žádá o zapouzdření
https://www.itsvse.com/thread-8077-1-1.html
Zveřejněno 09.12.2021 18:37:56 |
testtesttesttesttest
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com