【问题标题】:Javascript shows when stored in the databaseJavascript 显示何时存储在数据库中
【发布时间】:2012-06-03 07:46:25
【问题描述】:

我将“”存储在数据库中,当我尝试在标签中显示内容时,它会在网页中显示警报我该如何解决这个问题。

【问题讨论】:

  • ""
  • 我存储在数据库中的内容应该在标签中显示,而不是在网页中显示如何在标签中显示的警告。给负分前请理解问题
  • 请确保您了解owasp.org/index.php/… 以及为什么您的编码方法需要不同,具体取决于您在输出中打印潜在恶意字符串的位置。

标签: javascript asp.net security


【解决方案1】:

(1) 不要使用标签,使用Literal 控件并将模式设置为“编码”,因此您的标签将被 HTML 编码:请参阅:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literal.mode.aspx

或者

(2)。说:label.Text = HttpUtility.HtmlEncode(stringFromDataBase);

(3): 编辑:我还要提一下,您可以使用代码块:Welcome: <%: UserName %>

【讨论】:

  • 这不仅是一个好主意,因为它修复了 OP 的问题,而且将原始 HTML 扔到浏览器也是一个安全问题。 @Matthew Paul:帮自己一个忙,阅读“跨站点脚本”和“跨站点请求伪造”黑客。您现有的解决方案容易受到他们的攻击。
  • +1。非常遗憾的是,ASP.NET 在 一些 而非所有控件上默认设置了 Text` 属性转义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-05
  • 2014-09-06
相关资源
最近更新 更多