2012-06-21 64 views
5

使用@Html.Raw有風險嗎?在我看來,不應該有。如果存在風險,那麼無論如何使用@Html.Raw都不存在這種風險,因爲現代瀏覽器(例如Chrome)會允許編輯注入<script>malicious()</script>,甚至可以將表單的發佈後操作更改爲其他內容。使用@ Html.Raw存在風險嗎?

回答

5

@Html.Raw將允許執行該值上顯示的任何腳本。如果您想防止您需要使用@Html.AttributeEncode

4

正確,風險在於如何使用它。 Html.Raw沒有固有風險。這是一個工具,僅此而已。

+10

而且同樣可以說,大約芥末。或芥末氣。 – 2012-06-21 19:02:53

2

如果顯示用戶輸入的信息,最好使用@ Html.Encode()。

換句話說,如果你是displaying non-user eneterd data你是安全的去與@ Html.Raw()

+1

這是一個很好的觀點,我完全同意:)但我的用法是打算從html助手輸出​​一個輸入框,所以我認爲我會安全。 –