我还应该补充一点,我正在mysql
考虑扩展名。我知道mysqli
或PDO
应该使用。如果我使用jQuery Validation来验证客户端(例如电子邮件),我是否也应该在服务器端进行验证(确保它不是空白并且是有效的电子邮件)?
我只是想知道我是否通过简单地不验证服务器端来向跨站点脚本漏洞或 SQL 注入或其他任何事情敞开大门,或者只要我在表单数据时采取安全措施就可以了正在提交。
我还应该补充一点,我正在mysql
考虑扩展名。我知道mysqli
或PDO
应该使用。如果我使用jQuery Validation来验证客户端(例如电子邮件),我是否也应该在服务器端进行验证(确保它不是空白并且是有效的电子邮件)?
我只是想知道我是否通过简单地不验证服务器端来向跨站点脚本漏洞或 SQL 注入或其他任何事情敞开大门,或者只要我在表单数据时采取安全措施就可以了正在提交。
是的 是的 总是是的。永远不要相信来自浏览器的任何东西。
在最良性的情况下,如果他们禁用了 Javascript 怎么办?
对于更狡猾的情况,如果他们手动发布类似的数据curl
怎么办?
正如其他人已经说过的那样:服务器端验证是必须的,并且在任何情况下都不能被忽略,客户端验证除了防止用户输入错误的数据外,并没有做更多的事情。关于安全性,客户端验证绝对没有任何作用,因为它总是可以被攻击者关闭或以其他方式规避。
如果您想通过验证来保护自己免受 SQL 注入和 XSS 等攻击,我建议您阅读以下网站:
更一般的 PHP 安全问题: