0


我对JavaScript很陌生并试图自学javascript表单验证。

是否有可能快速运行不同的变量以及如何防止SQL注入?Javascript字符串检查

我目前正在使用该变量来测试我的密码是否符合某种安全级别。是否有可能看到一个示例变量,要求用户至少输入一个和至少一个大写字母与其他小写字母混合在一起的

var passw= /^[a-zA-Z]*.{8,15}$/; 

非常感激,并非常感谢

+2

*“如何防止SQL注入”*您必须在服务器端而不是客户端执行此操作。或者你在客户端上运行SQL查询? –

+0

通过使用单个REGEX,您限制了向用户传递他们违反的规则的能力。 SIMILAR:http://stackoverflow.com/questions/7844359/password-regex-with-min-6-chars-at-least-one-letter-and-one-number-and-may-cont – DevlshOne

+0

可能的重复[正则表达式的密码验证](http://stackoverflow.com/questions/2370015/regular-expression-for-password-validation) –

回答

1

如果你想防止SQL注入,那么你需要做的是服务器端。做它的客户端是没有意义的,因为对于一些邪恶的做法来拦截请求并改变值,绕过你的客户端验证是相当微不足道的。如果您使用node.js或其他基于JavaScript的服务器端引擎,那么您可以在那里进行验证。有关如何在node.js here中执行此服务器端的非常详尽的答案。

+0

我想我爱你。我一直在编写所有基于自己的代码,并且很想使用Ajax表单验证或者php发布验证。两者有哪些好处? 由于活动表单提交,Ajax表单验证是否对注入更普遍? – Dan

+0

他们非常相似。事实上,您可以使用Ajax发布到服务器上的PHP页面。任何一种类型的表单提交都容易发生注入,因为它会触发对url的请求。他们都主要在后台做这件事。如果您使用数据包嗅探器(我喜欢[Burpsuite](http://portswigger.net/burp/)),您可以在发送这些请求时看到它们。由于注入的差异很小,我个人发现使用内置的表单提交更容易。如果您使用POST请求阻止双重提交,请记住重定向到另一个页面。 – TylerLubeck