Bieži ir redzams, ka ajax post dati uz serveri projektā nav atzīmēti ar pretviltošanas tagiem, izraisot CSRF uzbrukumus, un ir ļoti viegli pievienot pretviltošanas zīmes Asp.net MVC, pievienojot veidlapai Html.AntiForgeryToken(). Html.AntiForgeryToken() ģenerē pāris šifrētas virknes, kas tiek glabātas sīkdatnēs un ievadē. Mēs arī ienesam AntiForgeryToken ajax ziņā
Html.AntiForgeryToken() MVC ir pasākums, lai novērstu starpvietņu pieprasījumu viltošanas (CSRF: Cross-site request faltion) uzbrukumus, kas atšķiras no XSS (XSS ir pazīstams arī kā CSS: Cross-Site-Script), XSS parasti izmanto uzticamus lietotājus vietnē, lai tīklā ievietotu ļaunprātīgu skripta kodu, lai uzbruktu. CSRF, no otras puses, ir pseido-uzticams lietotājs, kas uzbrūk vietnei. Pirmkārt, apskatīsim kodu šādi:
Palaižot, ģenerētais html kods izskatās šādi:
Noklikšķināsim uz testa pogas, lai pieprasītu pārbaudi un redzētu, vai tajā ir viltošanas novēršanas sīkdatnes, kā parādīts zemāk redzamajā attēlā:
Kontroliera kods ir šāds:
Mums ir jāpievieno ValidateAntiForgeryToken funkcija katram kontrolierim, ja lietotājs nenes AntiForgeryToken, mēs varam atgriezt lietotājam draudzīgu uzvedni šādi:
|