2012-06-21 59 views
5

Có rủi ro khi sử dụng @Html.Raw không? Dường như với tôi không nên có. Nếu có rủi ro thì nguy cơ đó sẽ không tồn tại bất kể việc sử dụng @Html.Raw trong các trình duyệt hiện đại như Chrome sẽ cho phép chỉnh sửa số <script>malicious()</script> hoặc thậm chí thay đổi hành động đăng của biểu mẫu đối với nội dung khác.Có rủi ro khi sử dụng @ Html.Raw không?

Trả lời

5

@Html.Raw sẽ cho phép thực thi bất kỳ tập lệnh nào có giá trị hiển thị. Nếu bạn muốn ngăn chặn điều đó bạn cần sử dụng @Html.AttributeEncode

4

Đúng, rủi ro là cách sử dụng. Không có rủi ro vốn có trong Html.Raw. Đó là một công cụ, không có gì hơn.

+10

Và như vậy có thể nói về mù tạt. Hoặc khí mù tạt. –

2

Nếu bạn đang hiển thị thông tin người dùng nhập thì tốt hơn nên sử dụng @ Html.Encode().

Nói cách khác, nếu bạn là displaying non-user eneterd data bạn được an toàn để đi với @ Html.Raw()

+1

Đây là một điểm tốt, và tôi hoàn toàn đồng ý :) Nhưng việc sử dụng của tôi nhằm mục đích đưa ra một hộp đầu vào từ một trình trợ giúp html vì vậy tôi nghĩ rằng tôi sẽ được an toàn. –

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