asp.net - 为什么需要 Server.HtmlEncode?

标签 asp.net

我不明白为什么需要 Server.HtmlEncode? MSDN 指出它用于将潜在不安全的字符编码为 HTML 编码的等效字符。

有人可以告诉我这些字符为什么不安全并要求我们使用 Server.HtmlEncode 吗?

谢谢。

最佳答案

字符可能不安全的一个例子是用户在您的页面上提交评论。如果评论表单不使用 HtmlEncode,那么用户刚刚键入的任何内容现在都将作为页面上的评论可见。在这种情况下,黑客可以提交如下评论:

<script language="javascript" type="text/javascript">
window.location = 'http://server.com/viruspage.asp';
</script>

对于加载该页面的每个后续用户,该脚本将运行(因为它尚未使用 HtmlEncode 进行编码),将每个用户重定向到带有病毒的页面。这是一个非常简单的示例,但还有许多其他方法可以输入恶意数据,甚至可能为黑客提供对您的数据库的管理访问权限。

关于asp.net - 为什么需要 Server.HtmlEncode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851874/

相关文章:

c# - EF Generic Repository 从新插入的通用实体获取 Id

asp.net - 提供的 URI 方案 'https' 无效;预期 'http' 。参数名称 : via

c# - 初始化后动态注册按钮点击事件

c# - asp.net 连接到外部数据库

asp.net - 选择框更改事件中的 setTimeout

asp.net - 当我在内容页面中使用 Jquery 选项卡控件时,它不起作用

c# - 如何使用 asp.net 隐藏和取消隐藏 Excel 工作表的列

c# - 无法完全使用 WebBrowser 控件捕获网页

c# - WebRequest 和协议(protocol)无关的 URL

asp.net - 使用不带字符串 URL 的 ASP.NET 重定向?