Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 37886|Vastaus: 4

[ASP.NET] mvc ajax AntiForgeryTokenilla CSRF-hyökkäysten estämiseksi

[Kopioi linkki]
Julkaistu 2.11.2017 10.06.29 | | | |
Usein nähdään, että ajaxin palvelimelle lähetetty data projektissa ei ole merkitty väärentämisen estäjätunnisteilla, mikä aiheuttaa CSRF-hyökkäyksiä, ja on hyvin helppoa lisätä väärentämisen estäjämerkkejä Asp.net MVC:hen lisäämällä lomakkeeseen Html.AntiForgeryToken().
Html.AntiForgeryToken() generoi parin salattuja merkkijonoja, jotka tallennetaan evästeisiin ja syötteisiin. Tuomme myös AntiForgeryTokenin ajax-postaukseen
Html.AntiForgeryToken() MVC:ssä on toimenpide, jolla pyritään estämään poikkisivustoisten pyyntöväärennösten (CSRF: Cross-site request forgery) hyökkäyksiä, mikä eroaa XSS:stä (XSS tunnetaan myös nimellä CSS: Cross-Site-Script). XSS käyttää yleensä luotettuja käyttäjiä sivustolla syöttämään haitallista skriptikoodia verkkoon hyökkäystä varten. CSRF puolestaan on pseudoluotettu käyttäjä, joka hyökkää verkkosivustolle.
Ensiksi tarkastellaan koodia seuraavasti:

Kun html-koodia ajetaan, generoitu html-koodi näyttää tältä:



Klikataan testipainiketta pyytääksemme testin ja katsotaan, onko siinä väärennöksiä estäviä keksejä, kuten alla olevassa kuvassa näkyy:



Ohjaimen koodi on seuraava:

Meidän täytyy lisätä ValidateAntiForgeryToken -ominaisuus jokaiseen ohjaimeen, ja jos käyttäjä ei tuo AntiForgeryTokenia, voimme palauttaa käyttäjälle ystävällisen kehotteen seuraavasti:







Edellinen:asp.net mvc BindAttribute binding feature
Seuraava:Yksi vertailuista CMMI:n ja Agilen välillä: olennainen ero näiden kahden välillä
 Vuokraisäntä| Julkaistu 2.11.2017 11.05.37 |
Yllä olevaa menetelmää varten sinun täytyy räätälöidä ominaisuus, etkä voi käyttää oletustoimintoa ValidateAntiForgeryToken

Oletusominaisuus on ottaa arvo muotomuodossa ja arvioida se



Kapseloin post-menetelmän jQueryllä väärennösten estovalidoinnilla, ja koodi on seuraava:



 Vuokraisäntä| Julkaistu 2.11.2017 11.17.36 |
IsAjaxRequest selvittääkseen, onko kyseessä ajax-pyyntö

Käytännössä IsAjaxRequest() määrittää, onko otsikossa X-Requested-With -kenttä ja onko se XMLHttpRequest

Dokumentaation katsominen on turhaa, se riippuu lähdekoodista.
 Vuokraisäntä| Julkaistu 20.2.2021 19.22.26 |
ASP.NET CSRF-hyökkäys Ajax pyytää kapselointia
https://www.itsvse.com/thread-8077-1-1.html
Julkaistu 9.12.2021 18.37.56 |
testtesttesttesttest
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com