2011-05-07 35 views
6

Tôi có một loạt các hình ảnh có chứa ký hiệu và tên của chúng. Trang web của tôi được xây dựng trên Asp.net MVC3.Chèn nhãn trong url hình ảnh MVC dẫn đến một Yêu cầu nguy hiểm tiềm ẩn.Path

Khi tôi cố gắng xem hình ảnh với các url bên dưới, trang web của tôi trả về và lỗi.

Ví dụ url:

  1. www.somesite.com/myimages/an-%26-image.jpg
  2. www.somesite.com/myimages/an- & -image.jpg

Lỗi trả về: Giá trị Request.Path nguy hiểm tiềm tàng đã được phát hiện từ ứng dụng khách (&).

Có xung quanh vấn đề này không? Tôi không thực sự muốn tắt xác nhận hoặc hoàn nguyên về requestValidationMode = "2.0" như tôi đã thấy được đề xuất vì đây chỉ là vấn đề với một số hình ảnh.

Tất cả các hình ảnh trong cùng một thư mục (myimages), có thể dừng xác thực trên một thư mục cụ thể không?

+0

Có thể đó là một câu hỏi ngớ ngẩn, nhưng ... Bạn không thể đơn giản đổi tên hàng loạt hình ảnh của mình và thay thế ký hiệu bằng dấu gạch dưới? – Jonathan

+0

Điều đó sẽ làm việc cho phần lớn các trường hợp nhưng một số ký hiệu và thực sự là công viên của tên thương hiệu và khách hàng không muốn tên được thay đổi theo bất kỳ cách nào. – Dave

Trả lời

0

Sau khi nhìn vào câu trả lời của this post, tôi nghĩ không có cách nào để cho phép các ký tự đó. Khi giải pháp chỉ là ánh xạ, hãy thử tạo một số tham chiếu tham chiếu đến tên hình ảnh gốc trong cơ sở dữ liệu hoặc XML. Tạo một bộ điều khiển và hành động để hiển thị hình ảnh.

10

tôi đã có thể khắc phục điều này bằng cách làm cho việc bổ sung sau vào Web.config

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,\,?" /> 

Tất cả những gì đã được gỡ bỏ là &amp;. Tôi đã học được điều này bằng cách thu hẹp các phần của this post được yêu cầu để khắc phục sự cố.

+0

Không phải là "requestPathInvalidCharacters"? –

+0

@ UfukHacıoğulları Tôi tin rằng bạn là chính xác. Đã cập nhật. – Schmalls

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