我意识到恶意用户可以在提交表单之前在浏览器中修改表单的html。 例如,切换相同类型的两个输入字段的名称。
我正在创建一个主要依赖于数据库中每个条目之间关系的网站。
如果发生这种情况,可能会危及我网站的所有功能。 (我已经测试了它,它确实切换了用户在浏览器中切换名称的两个字段的输入,即我)
我们怎么能阻止这种情况?
答案 0 :(得分:7)
如果这种黑客攻击导致服务器端出现问题,则无法在浏览器代码中修复它。这意味着您需要在服务器上修复此问题。
任何人都可以为您的服务器生成任何类型的POST或GET,您需要为此做好准备。
因此,请确保您在服务器上检测到此类篡改,并通过返回错误消息或静默忽略此类无效请求来处理此类篡改。
如果服务器已为此做好准备,您可以让人们尽可能多地浏览他们的浏览器。
答案 1 :(得分:2)
您应该验证PHP Manual for Validation上显示的输入。例如,我们为帖子添加了表单输入title
和body
。当用户提交帖子时,title
应该在1到40个字符之间,因此我们应该通过PHP验证。其次,body
不应包含恶意文本或代码,因此我们应使用addslahes()
等功能对其进行清理。
整个主题围绕PHP安全性展开。防止黑客企图和恶意企图的唯一方法是学习安全性。通过上面的链接开始学习。
答案 2 :(得分:0)
据我所知,最简单且通常最好的解决方案是在将查询发送到数据库之前检查每个输入字段是否具有php的有效值。例如,名称为“telephone”的字段应该只是数字,而不是更长,然后说10个密码。使规则足够严格,你不应该有任何问题。此外,您还应确保您的数据库字段是严格的,即。只允许您想要的长度和数据类型。