Khi làm việc với dự án ASP.NET 4.0, có 1 vấn đề. Vấn đề là khi người dùng nhập nội dung HTML không được mã hóa vào một textbox comment, bạn sẽ nhận được thông báo lỗi:
"A potentially dangerous Request.Form value was detected from the client".
Lỗi này xảy ra vì .NET phát hiện văn bản nhập vào là HTML gây nguy hại. Tôi nhấp vào liên kết đi kèm xác nhận yêu cầu, đó là tính năng được đưa ra để bảo vệ các ứng dụng trước tấn công cross site scripting(XSS).
Để vô hiệu hóa request validation, thêm thêm đoạn sau vào thẻ page trong tập tin aspx
ValidateRequest="false"
Nhưng tôi vẫn bị dính lỗi. Và tôi phát hiện ra rằng, NET 4.0 cần thêm requestValidationMode="2.0" vào httpRuntime cấu hình section vào tập tin web.config
<httpRuntime requestValidationMode="2.0"/>
Nhưng nếu không có httpRuntime section trong tập tin web.config, thì bạn thêm đoạn mã trên vào <system.web> section
<pages validateRequest="false" />
Nếu bạn muốn tắt request valication global đối với tất cả người dùng, trong dòng web.config thiết lập như sau:
Lưu ý: Tuy nhiên luôn tránh sử dụng, bởi nó sẽ dẫn tới lỗ hỏng an ninh rất lớn. Các tính năng request validation trong ASP.NET cung cấp mức độ bảo vệ mặc định chống lại tấn công XSS