【问题标题】:Why I need to Stop Using <%= … %> For Rendering and Start Using <%: … %> in Asp.net?为什么我需要停止使用 <%= ... %> 进行渲染并开始在 Asp.net 中使用 <%: ... %>?
【发布时间】:2010-05-05 22:02:26
【问题描述】:

我在某处读到我应该停止使用&lt;%= … %&gt; 进行渲染并开始使用&lt;%: … %&gt;。

谁能解释&lt;%= … %&gt; 和&lt;%: … %&gt; 之间的区别,以及使用其中一个或另一个的优点?

这是我正在阅读的幻灯片

http://ssmith-presentations.s3.amazonaws.com/ASPNET_TipsTricksTools_April2010.zip

这里是您可以从中获取更多信息的链接

http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax-for-html-encoding-output-in-asp-net-4-and-asp-net-mvc-2.aspx

http://haacked.com/archive/2009/11/03/html-encoding-nuggets-aspnetmvc2.aspx

【问题讨论】:

  • “我遇到这个asp.net提示”...你能发个链接吗? AFAIK 的语法糖
  • 啊。错过了结肠。这是我今天在 SO 上学到的第二件有趣的事!
  • 如果我记得的话,新的 仅在 ASP.NET 4 和 MVC 2 中可用。
  • 你说得对,这是 ASP.NET 4 的一个新特性。如果你在 ASP.NET 3.5 上开发,你将不得不继续使用现有的

标签: asp.net


【解决方案1】:

其实是的短版

查看此链接

http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax-for-html-encoding-output-in-asp-net-4-and-asp-net-mvc-2.aspx

最好的做法是避免 Javascript 攻击等。因此,如果有人向您的博客添加评论,例如其中包含 iframe html 或 javascript,那么它将完全按照输入的内容呈现,而不是使用 JS 或iframe 实际工作。

【讨论】:

    【解决方案2】:

    基本上,&lt;%: 将对结果进行 HTML 编码,而 &lt;%= 不会。这有助于防止 XSS 攻击。您可以在 Phil Haack 的 blog posts 系列中了解更多信息。

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多