我如何保护PHP表单?

del*_*ber 3 php security

我没有运行关键任务网站,所以我不是在寻找工业强度解决方案.但是,我想防止基本攻击,例如有人嘲笑硬盘上的虚假页面并试图获得未经授权的访问.是否有任何标准技术可确保仅从合法用途接受表单提交?

Bru*_*son 7

一些技术接近:

  • 为每个表单生成表单键.密钥与数据库记录有关,还有与页面视图有关的其他内容(userID,cookie等).如果表单键与该用户/ cookie不匹配,则无法发布表单.密钥仅使用一次,防止自动工具使用被盗密钥(针对该用户)再次发布.
  • 表单键也可以是共享密钥哈希:生成表单的PHP可以对cookie和userID进行哈希处理,例如,您可以在发布表单时验证.
  • 您可以添加验证码,要求用户进行验证.
  • 您还可以限制该用户/ cookie(限制)的帖子数量,这可以防止某些形式的自动滥用.

您不能保证表单不是从磁盘发布的,但您可以限制它自动化的容易程度.


Oli*_*rth 5

你不能.没有可靠的方法可以区分页面上用户生成的HTTP请求,也可以区分具有自己网页的恶意用户.

只需使用正确的密码身份验证方法,除非他们知道密码(无论HTTP请求来自何处),否则任何人都无法破解任何内容.一旦您拥有可靠的服务器端身份验证,您就不必浪费时间跳过非强大的环抱,担心这种情况.