我正在建立一个注册表格,包括使用信用卡。我现在处于表单验证的位置,以确保用户在适当的字段中输入正确的数据。然而它让我思考。依赖Jquery对此表单进行表单验证是否安全?JQuery是否兼容所有浏览器,包括我们最喜欢的IE版本?
至于一般字段,如姓名,地址,城市等......我正在使用一个JQuery脚本,只是验证它们是必需的。
我打算用它来处理信用卡的内容:http://jquerycreditcardvalidator.com/
或者你知道一个更好的解决方案来处理所有主流浏览器非常有效和可靠的表单验证吗?
答案 0 :(得分:2)
银行和支付处理器相关人员根据我的经验,我做了很多项目符合PCI DDS标准。
标记我的话,你永远不能依赖客户端验证。 jQuery验证只能帮助消费者不要输入错误,错过字段或忘记信用卡中的数字。用于CC#验证的Luhn算法大多数CC#验证器使用只检查校验和以避免跳过或错误的数字(即使在此它不是100%可靠,它只检查通常,常见错误),它不会检查卡号本身是否有效。
另一方面,当黑客扫描您的网站或试图破解它时,他从不使用他的浏览器(以及您的jQuery脚本)。他们总是使用浏览器模拟脚本,直接将值(数十,数百,数百万次尝试)发布到表单,避免使用HTML机制和JavaScript验证。您应该始终,始终在服务器端进行验证。这是必须的。客户端验证只是装饰,方便,但绝不是安全措施。
此外,您的付款方式可以运行多种类型的攻击,包括SQL注入,XSS攻击,CSRF攻击和它们所有这些都应该在服务器端处理。
在安全性方面,不要依赖Javascript和jQuery。安全!