Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membetulkan 'Permintaan Berpotensi Berbahaya. Nilai Laluan Telah Dikesan daripada Pelanggan'?
Mengatasi Ralat "Permintaan yang Berpotensi Berbahaya. Laluan" dalam Aplikasi ASP.NET
Aplikasi ASP.NET kadangkala melemparkan ralat "Permintaan. Nilai laluan yang berpotensi berbahaya telah dikesan daripada klien". Ini biasanya berlaku apabila URL yang diminta mengandungi aksara khas, seperti asterisk (*). Ini sering dicetuskan oleh pertanyaan carian atau URL dengan aksara luar biasa.
Berikut adalah beberapa penyelesaian:
1. Mengubah suai fail web.config
:
Untuk .NET 4.0 dan lebih baru, anda boleh menyesuaikan aksara yang dibenarkan dalam fail web.config
. Cari elemen <httpRuntime>
dan tambah atribut requestPathInvalidCharacters
. Untuk membenarkan asterisk, alih keluarnya daripada senarai aksara yang tidak sah:
<code class="language-xml"><system.web> <httpRuntime requestPathInvalidCharacters="<,>,&,:,\,?" /> </system.web></code>
Pendekatan ini biasanya merupakan cara yang paling mudah dan paling berkesan untuk menangani isu ini jika anda perlu menyokong aksara khas dalam laluan URL.
2. Pengekodan/Penyahkodan URL Manual:
Sebagai alternatif, anda boleh mengekod dan menyahkod aksara khas secara manual dalam URL anda menggunakan fungsi seperti UrlEncode
dan UrlDecode
. Kaedah ini memerlukan lebih banyak pengekodan dan boleh menjadi rumit untuk diselenggara, menjadikannya kurang diingini melainkan pilihan lain tidak sesuai.
3. Menggunakan Rentetan Pertanyaan:
Pendekatan yang lebih bersih melibatkan penggunaan rentetan pertanyaan untuk menghantar istilah carian atau penapis. Daripada membenamkan aksara khas secara langsung dalam laluan, hantarkannya sebagai parameter. Sebagai contoh, bukannya https://example.com/Search/test*/0/1/10/1
, gunakan https://example.com/Search?term=test*&filter1=0&filter2=1&filter3=10&filter4=1
.
Pendekatan Disyorkan:
Penyelesaian terbaik bergantung pada keperluan khusus aplikasi anda. Jika aplikasi anda memerlukan penggunaan aksara khas dalam laluan URL, mengubah suai fail web.config
ialah kaedah yang paling mudah dan berkesan. Jika tidak, menggunakan rentetan pertanyaan menawarkan penyelesaian yang lebih mantap dan boleh diselenggara berbanding pengekodan/penyahkod manual.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'Permintaan Berpotensi Berbahaya. Nilai Laluan Telah Dikesan daripada Pelanggan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!