Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah ValidateAntiForgeryToken Mencegah Serangan CSRF dalam ASP.NET MVC?

Bagaimanakah ValidateAntiForgeryToken Mencegah Serangan CSRF dalam ASP.NET MVC?

DDD
Lepaskan: 2024-12-24 11:55:12
asal
549 orang telah melayarinya

How Does ValidateAntiForgeryToken Prevent CSRF Attacks in ASP.NET MVC?

ValidateAntiForgeryToken: Tujuan dan Pelaksanaannya

Borang dalam aplikasi web MVC selalunya menjadi sasaran serangan pemalsuan permintaan merentas tapak (CSRF). Serangan CSRF berlaku apabila tapak web berniat jahat menghantar permintaan ke tapak web yang dipercayai dan menipu penyemak imbas pengguna yang dibenarkan supaya menyerahkan permintaan tersebut, dengan itu membenarkan penyerang melakukan tindakan yang tidak dibenarkan.

Untuk menangani kerentanan ini, rangka kerja .NET MVC menawarkan ValidateAntiForgeryToken atribut, yang memainkan peranan penting dalam mencegah serangan CSRF. Atribut ini memastikan bahawa borang yang diserahkan kepada kaedah tindakan tertentu sebenarnya berasal dari pelayan dan bukan daripada sumber luaran.

Cara MengesahkanAntiForgeryToken Berfungsi

Apabila kaedah tindakan adalah dihiasi dengan ValidateAntiForgeryToken, rangka kerja MVC menjana token yang unik sekali dan membenamkannya dalam HTML medan tersembunyi borang menggunakan kaedah pembantu @Html.AntiForgeryToken(). Token ini unik kepada pengguna, sesi dan penyemak imbas.

Apabila pengguna menyerahkan borang, rangka kerja membandingkan token dalam medan tersembunyi dengan token yang dijana sebelum ini. Jika token sepadan, ia mengesahkan penyerahan borang. Jika tidak, ia menimbulkan ralat dan menolak penyerahan, mengurangkan serangan CSRF.

Contoh Penggunaan

Untuk melaksanakan atribut ValidateAntiForgeryToken dalam MVC 4, ikut langkah berikut:

  1. Hiaskan kaedah tindakan yang anda mahu lindungi dengan atribut [ValidateAntiForgeryToken]:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(MyModel model)
    {
     // Code to handle the form submission
    }
    Salin selepas log masuk
  2. Tambahkan panggilan ke @Html.AntiForgeryToken() dalam teg borang:

    <form action="@Url.Action("Create", "MyController")" method="post">
     @Html.AntiForgeryToken()
     <!-- Other form controls -->
    </form>
    Salin selepas log masuk

Nota: The Kaedah pembantu @Html.AntiForgeryToken() mesti diletakkan dalam teg borang, tetapi sebelum semua kawalan borang lain.

Dengan mengikut langkah ini, anda boleh melindungi aplikasi web MVC anda dengan berkesan daripada serangan CSRF dan memastikan integriti daripada penyerahan borang anda.

Atas ialah kandungan terperinci Bagaimanakah ValidateAntiForgeryToken Mencegah Serangan CSRF dalam ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan