ASP.NET 4では、new演算子を使用して<%: ... %>
HTMLエンコードされた文字列を出力できます。オペレーターが文字列もHTMLエンコードするように(web.configで)ASP.NET 4を構成することは可能ですか?<%= ... %>
質問する
705 次
2 に答える
3
いいえ、幸いです。
このように構成すると、開発者は<%= ... %>
エンコードではなく使用する習慣を身に付けることになります。
その後、別の(通常の)プロジェクトで作業する場合、出力のエンコードを忘れてしまいます。
ASP.Net Razorにはこの問題がないため、デフォルトでHTMLエンコーディングが使用されます。
(デフォルトでエンコードされない、切り替えることができるRazorコードはありません)
于 2010-08-04T18:38:32.907 に答える
2
<%:
個人的には、この新しい構文は好きではありません。<%= HttpUtility.HtmlEncode(
それははるかに明示的であるため、私はむしろ使用します。
これに加えて、HTMLエンコーディングのみを行うため、誤った安心感を与えます。たとえば、このスニペットを見てください。
function myJavaScriptFunction()
{
var message = '<%: Person.LastComment %>';
alert(message);
}
適切なエンコーディングを使用していないため、保存されません。以下は安全です:
function myJavaScriptFunction()
{
var message = '<%: AntiXss.JavaScriptEncode(Person.LastComment) %>';
alert(message);
}
はるかに明確です。
于 2010-08-04T19:01:31.923 に答える