Asp.net 新的<;%:%&燃气轮机;VisualStudio2010中的编码语法是什么?

Asp.net 新的<;%:%&燃气轮机;VisualStudio2010中的编码语法是什么?,asp.net,asp.net-mvc,visual-studio-2010,Asp.net,Asp.net Mvc,Visual Studio 2010,Scott Hanselman关于VS 2010新功能的最新博客文章提到了“新的编码语法”。它有什么作用?用谷歌搜索这些标签似乎是不可能的 谢谢 Adrian我认为它确保了内部包含的文本经过消毒,因此java脚本不能被注入到页面中 所以如果你有 userdata = alert ("textstring") <%= userdata %> userdata=alert(“textstring”) 将在页面上显示消息框 <%: userdata %> 将显示文本

Scott Hanselman关于VS 2010新功能的最新博客文章提到了“新的编码语法”。它有什么作用?用谷歌搜索这些标签似乎是不可能的

谢谢


Adrian

我认为它确保了内部包含的文本经过消毒,因此java脚本不能被注入到页面中

所以如果你有

userdata = alert ("textstring")

<%= userdata %>
userdata=alert(“textstring”)
将在页面上显示消息框

<%: userdata %>


将显示文本“alert”(“textstring”)”

它将自动对包含的表达式进行HTML编码

所以


。。。相当于

<%= HttpUtility.HtmlEncode(yourString) %>

有关更多信息,请参阅以下MSDN链接:


它输出带有编码实体的HTML。这是英文的缩写

<%= HttpUtility.HtmlEncode("Some string") %>

此外,它还可以扩展到做额外的酷的事情,比如像PhilHaack那样保护输出不受XSS攻击


,并在博客中广泛介绍了.NET 4中的新功能和改进功能。

实际上让我想到了。

它的目的是通过对HTML进行编码来帮助防止XSS攻击。

这让我想到了下一个问题:我想知道谷歌为什么不给出任何有关“”的结果虽然该字符串正好出现在页面的标题和页眉中……你说得对,这是一次幸运的搜索,没有使用“”关键字,因此Google显示了“asp.net 4新语法”的结果。谷歌不支持标点符号转义,我还没有找到解决方法,对不起,这肯定不是你的错。谢谢你的链接:-)
<%= HttpUtility.HtmlEncode("Some string") %>