我不明白为什么需要 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/