通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入

大多数脚本利用发生在用户可以将可执行代码(或脚本)插入应用程序时。默认情况下,ASP.NET 提供请求验证。只要窗体发送包含任何 HTML,该验证都会引发错误。
您可以使用下列方法防止脚本利用:
对窗体变量、查询字符串变量和 Cookie 值执行参数验证。该验证应包括两种类型的验证:可以将变量转换为所需类型(如转换为整数、日期时间等)的验证,以及所需范围或格式的验证。例如,应该使用 System.Int32.TryParse 方法来检查应为整数的窗体发送变量,以验证该变量是否确实为整数。而且,还应该检查得到的整数,以验证该值是否在所需值范围之内。
将值写回响应时,向字符串输出应用 HTML 编码。这有助于确保用户提供的所有字符串输入将以静态文本形式呈现在浏览器中,而不是呈现为可执行的脚本代码或已解释的 HTML 元素。
HTML 编码使用 HTML 保留字符转换 HTML 元素,以便显示它们而不是执行它们

posted on 2008-01-15 13:22  jakeweny  阅读(122)  评论(0编辑  收藏  举报

导航