2011-07-12 39 views
5

Tôi biết rằng có rất nhiều bài đăng về chủ đề này, tuy nhiên dù tôi cố gắng thế nào đi nữa (sử dụng chi tiết trong đó bài viết) tôi có thể không hoàn toàn loại bỏ yêu cầu Validation từ MVC 3.Không thể tắt "... Request.Path nguy hiểm tiềm tàng ..." trong MVC 3

Bằng cách sử dụng một xấu xí, nhưng kiểm tra đơn giản, tôi đã theo các bước sau: -

  1. mở VS và tạo ra một ứng dụng Internet mẫu MVC3 mới .
  2. Trên mỗi hành động điều khiển của tôi, tôi đã đặt thuộc tính [ValidateInput (false)].
  3. Chỉnh sửa web.config gốc để <httpRuntime requestValidationMode="2.0" /> nằm trong phần <system.web />.

Trong khi điều này có nghĩa là tôi có thể gửi biểu mẫu có thứ như <script> trong trường, tôi vẫn không thể tìm cách cho phép Request.Paths như http://localhost/MySampleApp/Account/LogOn<script>.

Nếu tôi gọi URL như vậy, tôi vẫn nhận được "Giá trị Request.Path nguy hiểm tiềm ẩn đã được phát hiện từ ứng dụng khách (<)."

Có ai biết cách THỰC SỰ xóa tất cả xác thực yêu cầu trong MVC 3 trên .Net 4.0 không?

Rất cám ơn,

Trả lời

4

Bạn có thể tìm thấy following blog post hữu ích. Lời khuyên cá nhân của tôi là tránh sử dụng các ký tự như vậy trong đường dẫn url của bạn (trừ khi được yêu cầu nghiêm ngặt) và sử dụng tham số chuỗi truy vấn để truyền dữ liệu đó đến máy chủ:

http://localhost/MySampleApp/Account/LogOn?script=%3Cscript%3E 
+0

nhờ điều này - để làm rõ - chúng tôi cần hoàn toàn tắt để chúng tôi có thể chạy thử nghiệm Skipfish đầy đủ của ứng dụng ... hiện tại, nó không thể kiểm tra nhiều nỗ lực 'url xấu' vì công cụ được xây dựng của MVC ... Tôi cảm thấy hơi khó chịu khi chỉ dựa vào .Net thực hiện an toàn url. – isNaN1247

+0

liên kết tuyệt vời! – isNaN1247

Các vấn đề liên quan