在asp.net文本框中检查脚本

时间:2009-09-15 14:47:26

标签: javascript asp.net webforms

我们希望阻止用户在文本框中输入html或javascript。

我们可以解析输入并检查天使括号。想知道有更好的方法吗?

5 个答案:

答案 0 :(得分:5)

我发现用编码的天使括号替换天使括号可以解决大多数问题。这是人们可以跨站点脚本的所有方式的reference。制作一个正则表达式来阻止任何HTML和/或脚本的风格几乎是不可能的。

答案 1 :(得分:3)

如果您设置Page.ValidateRequest = true,那么它将停止此操作。

从.net 1.1版开始(我认为)默认设置为true。

答案 2 :(得分:2)

您可以使用正则表达式验证程序验证输入吗?

答案 3 :(得分:1)

Page.ValidateRequest将停止此操作,除非您关闭它。

然而,OWASP指南(以及几乎所有主管的安全指南)告诉您,您不应该尝试在验证中限制不良字符,而应该过滤以便仅使用特定允许的字符。

http://en.wikipedia.org/wiki/Secure_input_and_output_handling

http://www.owasp.org/index.php/Top_10_2007-A1

为了获得良好的安全编码实践,我将从这里开始并为该网站添加书签以供将来参考。 http://www.owasp.org/index.php/Top_10_2007

答案 4 :(得分:0)

我遇到了这个html实用程序。该代码使用允许输入的白色标签列表。然后,该脚本将输入文本格式化,并删除可用于跨站点脚本攻击的标记和脚本。

出于您的目的,您无法在白名单中添加任何标记。

Html utilty