laravel - 是否可以通过 Laravel 中的 ->ip() 限制访问者的提交形式
问题描述
通过获取客户端 IP 并将其保存在数据库中,然后使用它来检测垃圾邮件访问者,阻止或限制访问者(仅查看网站,无需用户注册)在 Laravel 中的多个表单提交。那可能吗?
解决方案
我不建议使用访问者 IP 来防止将来通过表单向您的网站发出请求。对于普通用户来说,IP 很少是静态的。如果用户知道他们在做什么,他们只需要重新启动他们的互联网连接,他们的 ISP 就会给他们一个不同的 IP 地址。此外,他们可以使用 IP 轮换代理他们的请求来绕过您的“安全性”。
如果您试图阻止机器人提交表单。一个好的方法是实现一个没有值的隐藏输入字段。如果提交了表单并且已经填充了输入字段,那么您就知道它是一个机器人。这不是最可靠的方法,因为机器人必须是一个愚蠢的机器人。
我能想到的唯一真正“可靠”的方法是客户端 > 服务器端验证,例如 Google ReCaptcha。
当然,替代方法只是接受您的表单将被垃圾邮件发送并在提交后找到处理垃圾邮件的方法。
推荐阅读
- facebook - 无法使用 PHP 将图片分享到 Facebook
- .net - 使用 ASPNetUsers 表和自定义创建关系
- python - pandas 根据另一列中的序列重复创建类别列
- javascript - React - 添加密钥会干扰孩子的状态
- javascript - 从 JavaScript 文件加载变量时在文件名中使用今天的日期
- html - 使用 mechanize 获取 Twitter 关注列表
- psql - 从 psql 运行查询时,如何将客户端超时配置到 yugabyte db 服务器?
- javascript - 部署asp.net mvc应用程序后日期时间更改问题
- pine-script - 就图而言,买入和卖出信号相差一根蜡烛
- html - 如何在 contenteditable div 中保留填充作为元素边界?