一个正则表达式的空白字符会引起注入吗?

时间:2012-11-07 19:07:36

标签: javascript regex security code-injection

如果我想验证<textarea>的输入,并希望它包含,例如,只包含数值,但是甚至想让用户插入新行的可能性,我可以选择想要的字符一个javascript正则表达式,甚至包括空格字符。

/[0-9\s]/

问题是:即使我认为最后一种选择是不可能的,还是任何其他类型的攻击,是否可以使用白字来执行注射,XSS?

感谢

1 个答案:

答案 0 :(得分:4)

我相信,{p> /[0-9\s]/应该是一个安全的白名单。但是,您确实需要确保它检查整个输入;我想你的意思是/^[0-9\s]*$/

当然,还要记住,您必须在服务器端验证它,而不仅仅是在浏览器中验证它。攻击者可以轻松绕过JavaScript验证码。