Pertanyaan Nilai Request.Form yang berpotensi berbahaya terdeteksi ASHX httpHandler


Saya harus menerima data xml dalam bentuk posting ke handler http ashx saya.

Namun saya mendapatkan kesalahan "Sebuah nilai Request.Form berbahaya terdeteksi .." kesalahan ketika saya menarik data xml dari permintaan menggunakan request.Form.

Saya tidak bisa mengeset permintaan validasi ke false karena ini bukan halaman aspx. Apa yang dapat saya?

misalnya

<textarea rows="12"  cols="50"  name="Post2Data">
 <root>
    <XML>....
 </root>
</textarea>

request.Form["Post2Data"];

5
2017-08-10 09:48


asal


Jawaban:


Anda dapat menggunakan properti permintaan yang Tidak Dipvalidasi, mis.

request.Unvalidated.Form["Post2Data"];

Anda harus memeriksa validitas data Formulir sendiri. Ini tidak disarankan untuk diatur validateRequest = false dalam lingkungan produksi karena membuat Anda rentan terhadap serangan skrip lintas situs.


4
2018-02-20 12:48



Anda dapat menambahkan entri berikut di web.config.

<location path="~/YourHandler.ashx">
    <system.web>
      <pages validateRequest="false" />
    </system.web>
</location>
<system.web>
   <compilation debug="true" targetFramework="4.0"/>
   <httpRuntime requestValidationMode="2.0" />
</system.web>

3
2017-08-10 09:55