我试图阻止机器人(可能)将虚假数据提交到我的php注册文件.我正在创建一个使用注册/登录系统的网站,我想添加我能够的电子邮件验证.然而问题是我的webhost只允许x每分钟发送大量电子邮件,如果机器人发送垃圾邮件,这不仅会使我的数据库充满垃圾邮件帐户,而且我也会因违反电子邮件限制而被暂停.
我一直在阅读有关确保表格和CSRF的内容,这是我不熟悉的术语.
这是我目前对CSRF预防的"令牌方法"的理解;
加载包含表单的页面时,创建一个令牌.将令牌存储在SESSIONcookie或cookie中.
当运行处理注册的PHP文件时,它将检查令牌.如果表单中提交的内容不匹配(或者未设置令牌SESSION),则请求是垃圾邮件.
我不明白为什么机器人不能简单地从HTML表单中获取令牌并提交它.我知道它每次都在变化,难道不是每次都抓住它吗?
我假设机器人只是使用CurL或类似的东西提交数据,以绕过实际提交HTML表单的需要,而是直接将数据发送到PHP文件.
我的问题基本上是,为什么以及如何防止机器人提交我的注册表格(或任何表格).