สิงหาคม 13, 2020, 03:55:27 AM *
ยินดีต้อนรับคุณ, บุคคลไม่รู้ว่าใคร กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
หน้า: [1]   ลงล่าง
  พิมพ์  
วิธีการแก้ไขปัญหา A potentially dangerous Request.Form ใน ASP.NET  (อ่าน 7809 ครั้ง)
ไร้คอนเซปต์ ******* ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 18056
กันยายน 08, 2011, 12:04:13 PM
ผลงาน: 1730
อาร์ตทูบี
Administrator
ไร้คอนเซปต์
*******

ผลงาน: 1730
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 18056


เว็บไซต์
« เมื่อ: กันยายน 08, 2011, 12:04:13 PM »
วิธีการแก้ไขปัญหา A potentially dangerous Request.Form value was detected from the client  ใน .NET



----------------------------------------------------------------------------
A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$dvContentDetails$txtLDetail="<p>
ข้อความ</p>
").

Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. To allow pages to override application request validation settings, set the requestValidationMode attribute in the httpRuntime configuration section to requestValidationMode="2.0". Example: <httpRuntime requestValidationMode="2.0" />. After setting this value, you can then disable request validation by setting validateRequest="false" in the Page directive or in the <pages> configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. For more information
----------------------------------------------------------------------------

ปัญหาลักษณะนี้ เกิดจากการส่งค่าผ่านฟอร์มด้วยแท็กพิเศษ เช่น HTML  Code ใน .net มันจะแสดง error ขึ้นมา และสร้างความปวดหัวให้กับ Developer. ส่วนมากแล้วปัญหานี้มักเกิดกับการทำฟอร์มโดยใช้ Editor เช่น CKeditor  เข้ามาช่วย วิธีแก้ไขปัญหานี้ มี 3 วิธีคับ

1. กำหนด ValidateRequest="false" ไว้บนหัวเพจ ตัวอย่างเช่น
โค๊ด:
<%@ Page Title="" Language="C#" MasterPageFile="~/Backend/BackendMasterPage.master" AutoEventWireup="true" CodeFile="ManageContent.aspx.cs" Inherits="Backend_ManageContent" ValidateRequest="false" EnableEventValidation="false"  %>
2. ไปแก้ไฟล์ config.js ของสคริปต์ตัว ckeditor ครับ แล้วเพิ่ม config.HtmlEncodeOutput = true; เข้าไป
โค๊ด:
// config.js
CKEDITOR.editorConfig = function(config) {
    config.HtmlEncodeOutput = true;
};

3. กำหนด <httpRuntime requestValidationMode="2.0" /> ไว้ในไฟล์ web.config

สำหรับสองวิธีแรกคือวิธีพื้นๆที่สุด ส่วนวิธีที่ 3 สำหรับโปรเจคที่เป็น .net framework 4.0 ขึ้นไปครับ


แหล่งศึกษาเพิ่มเติม
 bullet01  http://greatfriends.biz/webboards/msg.asp?id=121548
 bullet01 http://greatfriends.biz/webboards/msg.asp?id=119975

Tag : A potentially dangerous Request.Form,.NET, Ckeditor, วิธีแก้ไขปัญหา



รับจดโดเมน รับฝาก-ดูแลเว็บไซต์ ทำเว็บ เขียนโปรแกรม โฆษณา Google Adwords
พูดคุยเป็นการส่วนตัวคลิ๊กเลยครับ


หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!