如果您正在验证客户端,是否应验证服务器端?

时间:2012-12-18 22:23:30

标签: php forms security

我还应该补充一点,我正在考虑mysql扩展名。我知道应该使用mysqliPDO。如果我使用jQuery Validation验证客户端(例如电子邮件),我是否也应该在服务器端执行(确保它不是空白且是有效的电子邮件)?

我只是想知道我是否通过简单地不验证服务器端来打开跨站点脚本漏洞或SQL注入或其他任何问题,或者只要我采取安全措施,我就会好起来在提交表单数据时。

2 个答案:

答案 0 :(得分:12)

是是,总是是。永远不要相信来自浏览器的任何内容。

在最良性的情况下,如果他们禁用了Javascript怎么办?

对于一个更加狡猾的案例,如果他们手动发布curl之类的数据怎么办?

答案 1 :(得分:0)

正如其他人所说:服务器端验证是必须的,不能在任何情况下被遗漏,客户端验证不会阻止用户输入错误数据。关于安全性,客户端验证绝对没有任何效果,因为它总是可以被攻击者关闭或规避。

如果您想验证以防止SQL注入和XSS等攻击,我建议您阅读这些网站:

关于PHP安全问题的更一般性: