代码之家  ›  专栏  ›  技术社区  ›  NoCarrier

在ASP.NET的文本区域中显示HTML和其他代码

  •  0
  • NoCarrier  · 技术社区  · 16 年前

    我有一个应用程序,用户可以在其中将HTML和ASP代码片段存储在数据库中。问题是,当我动态填充文本区域控件时,HTML代码段中的所有不同字符都会导致页面无法正确呈现。

    有人能给我指出一条在输出到浏览器之前如何去掉/替换各种字符的准则吗?

    我应该去掉尖括号,换成一个替代字符吗?是否强制用户输入<和>,而不是尖括号?还是有一种更简单的方法?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Sam Pride    16 年前

    一个好习惯是使用server.httputility类中的htmlencode和htmldecode。

    简单地替换<和>或手动解析HTML可能会很麻烦,而且您可能不会完全“了解所有内容”。

    通过在任何用户输入或写入屏幕的文本上始终调用htmlencode和htmldecode,可以大大降低跨站点脚本和其他常见Web漏洞(如SQL注入)的风险。它不应该被用作 只有 安全/卫生机制,但实施起来简单有效。

        2
  •  1
  •   Josh    16 年前

    在将HTML输出到屏幕之前,您可以使用 HttpUtility .

    推荐文章