Header Ads

Khắc phục lỗi "A potentially dangerous Request.Form value was detected from the client"


Khi làm việc với ASP. Net, đôi khi bạn gặp thông báo lỗi này:
A potentially dangerous Request.Form value was detected from the client ( ...).

Description: ASP.NET has detected data in the request that is potentially dangerous because it might include HTML markup or script. The data might represent an attempt to compromise the security of your application, such as a cross-site scripting attack. If this type of input is appropriate in your application, you can include code in a web page to explicitly allow it. 
Tạm dịch là:
Mô tả lỗi: ASP. NET phát hiện ra dữ liệu trong Request (yêu cầu) có khả năng gây nguy hiểm vì nó chứa mã HTML hoặc các đoạn Script có thể ảnh hưởng đến độ an toàn của ứng dụng của bạn.

Nguyên nhân 

Mỗi khi người dùng đăng cái gì mà có chứa dấu < hoặc dấu > trong trang web nằm trong ứng dụng web của bạn. Vì hai dấu này là mã HTML (Ngôn ngữ đánh dấu siêu văn bản).

Mình gặp phải lỗi này khi cài CKEditor và cố dùng thuộc tính InnerText để chèn vào trong cơ sở dữ liệu.

Các khắc phục

Cách đơn giản nhất là tắt Xác nhận bài viết bằng lệnh ValidateRequest="false", nó sẽ tránh được lỗi này nhưng chúng tôi không khuyến khích vì nó có thể bị tấn công.

Lý tưởng hơn nhưng cũng phức tạp hơn: Khi có một yêu cầu chứa các ký tự của HTML, bạn phải xử lý những ký tự đó thành những văn bản riêng biệt. Ví dụ < thành &lt; hoặc > thành &gt;

Chúc các bạn thành công và code vui vẻ !

Không có nhận xét nào

Được tạo bởi Blogger.