2011-09-09 27 views
5

Tôi đang tìm kiếm một chút trợ giúp vì điều này hiện đang khiến tôi phát điên.requestvalidationmode = "2.0" validaterequest = "false" trong web.config không hoạt động

Tôi có một trình soạn thảo văn bản tinyMCE trên trang của tôi được điền với nội dung đã được lưu trữ trong cơ sở dữ liệu dưới dạng html.

ví dụ: <p>first paragraph</p> <p>second paragraph</p> v.v., v.v. không có vấn đề gì ở đó.

nhưng khi tôi thực hiện một sự thay đổi trong trình soạn thảo và sau đó cố gắng cập nhật các nội dung trong cơ sở dữ liệu tôi nhận được lỗi giá trị Request.Form nguy hiểm đã được phát hiện từ khách hàng

tôi đã thực hiện tất cả các đề nghị những thay đổi trong web.config

  • requestvalidationmode = "2.0"
  • ValidateRequest = "false"

Nhưng vẫn nhận được giá trị request.form nguy hiểm tiềm ẩn đã được phát hiện từ lỗi máy khách. Điều này đang xảy ra trong .NET 4.0 bất kỳ trợ giúp/lời khuyên nào sẽ là tuyệt vời.

+0

xem http://stackoverflow.com/questions/3072950/validaterequest-false-and-net-4-problem – V4Vendetta

Trả lời

4

tôi thậm chí sẽ không cố gắng để cho phép này về mặt kĩ trang web rộng trong file web.config - chỉ cần làm điều đó mỗi trang, khi bạn biết dữ liệu đặc biệt đầu vào là an toàn:

<%@ Page ... ValidateRequest="false" %> 

Kể từ ban đầu penning câu trả lời này tôi có kể từ khi viết một blog với chi tiết hơn và nhiều phương pháp tiếp cận để đạt được điều này trong CMS dựa trên Umbraco CMS - ở đây bạn muốn làm điều tương tự trong bản chất, chỉ khác nhau. Để trả lời câu trả lời này ngay lập tức, bạn có thể sử dụng điều khiển được đề cập ở đó (và trong nhận xét của OP bên dưới), cụ thể cho mục đích này từ trong Bản mẫu như vậy:

<umbraco:DisableRequestValidation runat="server" /> 
+0

Điều này đã giảm xuống ở trên theo một cách. Tôi đang sử dụng CMS của Umbraco và cần thêm lên đầu trang để có cùng tác dụng. –

+0

@Grant Thomas, bạn có thể cung cấp liên kết tới blog của mình không? Cảm ơn – tatigo

+3

Không phải là câu trả lời cho câu hỏi của OP. Câu hỏi tại sao nó không hoạt động trong web.config, điều đó không được trả lời. –

5

Bạn phải đăng phần web. config,

Nó nên được,

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <httpRuntime requestValidationMode="2.0" /> 
</system.web> 
Các vấn đề liên quan