Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 37886|Jawab: 4

[ASP.NET] mvc ajax dengan AntiForgeryToken untuk mencegah serangan CSRF

[Salin tautan]
Diposting pada 02/11/2017 10.06.29 | | | |
Sering terlihat bahwa data posting ajax ke server dalam proyek tidak ditandai dengan tag anti-pemalsuan, menyebabkan serangan CSRF, dan sangat mudah untuk menambahkan tanda anti-pemalsuan ke Asp.net MVC dengan menambahkan Html.AntiForgeryToken() ke formulir.
Html.AntiForgeryToken() menghasilkan sepasang string terenkripsi yang disimpan dalam cookie dan input. Kami juga menghadirkan AntiForgeryToken di postingan ajax
Html.AntiForgeryToken() di MVC adalah tindakan untuk mencegah serangan pemalsuan permintaan lintas situs (CSRF: Pemalsuan permintaan lintas situs), yang berbeda dari XSS (XSS juga dikenal sebagai CSS: Cross-Site-Script), XSS umumnya menggunakan pengguna tepercaya di situs untuk memasukkan kode skrip berbahaya ke dalam jaringan untuk diserang. CSRF, di sisi lain, adalah pengguna pseudo-tepercaya yang menyerang situs web.
Pertama, mari kita lihat kodenya sebagai berikut:

Saat berjalan, kode html yang dihasilkan terlihat seperti ini:



Mari klik tombol uji untuk meminta pengujian dan melihat apakah memiliki cookie anti-pemalsuan, seperti yang ditunjukkan pada gambar di bawah ini:



Kode dalam pengontrol adalah sebagai berikut:

Kita perlu menambahkan fitur ValidateAntiForgeryToken ke setiap pengontrol, jika pengguna tidak membawa AntiForgeryToken, kita dapat mengembalikan prompt ramah kepada pengguna, sebagai berikut:







Mantan:asp.net fitur pengikatan BindAttribute mvc
Depan:Salah satu perbandingan antara CMMI dan Agile: perbedaan mendasar antara keduanya
 Tuan tanah| Diposting pada 02/11/2017 11.05.37 |
Untuk metode di atas, Anda harus menyesuaikan fitur, dan Anda tidak dapat menggunakan fitur ValidateAntiForgeryToken default

Fitur defaultnya adalah mengambil nilai dalam bentuk formulir dan kemudian menilainya



Saya merangkum metode post dengan jQuery dengan validasi anti-pemalsuan, dan kodenya adalah sebagai berikut:



 Tuan tanah| Diposting pada 02/11/2017 11.17.36 |
IsAjaxRequest untuk menentukan apakah itu permintaan ajax

Pada dasarnya, IsAjaxRequest() menentukan apakah ada bidang X-Requested-With di header dan apakah itu adalah XMLHttpRequest

Melihat dokumentasi tidak berguna, itu tergantung pada kode sumbernya.
 Tuan tanah| Diposting pada 20/02/2021 19.22.26 |
ASP.NET CSRF menyerang enkapsulasi permintaan Ajax
https://www.itsvse.com/thread-8077-1-1.html
Diposting pada 09/12/2021 18.37.56 |
Uji Tes
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com