Sageli nähakse, et ajaxi postitusandmed projektis serverisse ei ole märgistatud võltsimisvastaste siltidega, mis põhjustab CSRF-rünnakuid, ning võltsimisvastaste märkide lisamine MVC-Asp.net le on väga lihtne, lisades vormile Html.AntiForgeryToken() vormi. Html.AntiForgeryToken() genereerib kaks krüpteeritud stringi, mis salvestatakse küpsistesse ja sisenditesse. Me toome ka AntiForgeryTokeni ajaxi postitusse
Html.AntiForgeryToken() MVC-s on meede, mis takistab ristsaidiliste päringute võltsimise (CSRF: Cross-site request forgery) rünnakuid, mis erineb XSS-ist (XSS on tuntud ka kui CSS: Cross-Site-Script). XSS kasutab tavaliselt usaldusväärseid kasutajaid saidil, et sisestada pahatahtlik skriptikood võrku rünnakuks. CSRF seevastu on pseudo-usaldusväärne kasutaja, kes ründab veebisaiti. Esmalt vaatame koodi järgmiselt:
Käivitamisel näeb genereeritud html-kood välja selline:
Vajutame testi nupule, et testi tellida ja vaadata, kas sellel on võltsimisvastased küpsised, nagu alloleval joonisel näidatud:
Kontrolleri kood on järgmine:
Peame lisama igale kontrollerile ValidateAntiForgeryToken funktsiooni; kui kasutaja ei too AntiForgeryTokenit, saame kasutajale tagastada sõbraliku teate järgmiselt:
|