不可直接访问的登录表单是否有助于阻止机器人?

2024-01-05

我读到了一项可能的过滤垃圾邮件机器人的措施,并希望获得意见(建议)。

措施是这样的:

1) 登录表单无法直接访问。我的意思是,如果有人输入 www.domain.com/login.php,他将被重定向到索引或类似的内容。

2) 在index.php 上有按钮登录。当访问者单击“登录”时,会弹出登录表单。登录后我检查 $_SERVER["HTTP_REFERER"]。如果不是login.php,则错误(失败)

这样的措施有用吗?可能可以使用其他东西来代替 $_SERVER["HTTP_REFERRER"] ?这样的方法到底合理吗?


我会说:并不真地。但有更好的解决方案,请参见下文。

问题是,好的机器人也可以做人类能做的一切。大多数机器人甚至比人类“更好”,因为它们知道登录系统如何工作等!使用 JavaScript/Iframe/AJAX 结构来防止机器人将有助于对抗仅搜索文本输入和密码输入表单的主流爬虫。即使您的网站使用超级棒的可间接访问的登录表单,即使这样,也有人可能会为该用例构建一个机器人。

这个问题的一个很好的解决方案:

  1. 使用延时登录拦截器!这里有一个关于如何在大量登录失败后延迟甚至阻止登录尝试的教程:http://www.codedevelopr.com/articles/throttle-user-login-attempts-in-php/ http://www.codedevelopr.com/articles/throttle-user-login-attempts-in-php/

  2. 另外,在第一次登录失败后,请使用高端验证码。

  3. 对于真正的坏人:如果您从某个特殊 IP 收到大量登录失败的信息,请阻止该 IP。这是相当先进的,但却是一种常见的做法。

(请注意:本教程的作者仍然使用 mysql_query,它已经过时多年了。您应该使用 mysqli 或 PDO 来完成。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不可直接访问的登录表单是否有助于阻止机器人? 的相关文章

  • 从 PHP 执行 SQL Server 存储过程

    我尝试从 PHP 调用 SQL Server 存储过程 这是我的存储过程 CREATE procedure dbo tester id NVARCHAR MAX AS BEGIN DECLARE tab TABLE myxml XML IN
  • PDOException SQLSTATE[HY000] [2002] 我的本地计算机上的连接超时

    最近我从服务器导入了代码 但本地代码无法连接到远程 mysql 数据库 所以我有两个问题 我可以访问我的远程数据库吗 如果是 为什么我的代码不起作用 如果没有 有没有办法绕过这个问题 我不想复制在本地计算机上运行的 mysql 数据库 我的
  • Golang 网络爬虫 NTLM 身份验证

    Golang 网络抓取工具需要从经过 NTLM 验证的网页中提取信息 有了有效的用户名和密码 网络抓取工具如何与服务器进行 NTLM 4 次握手 以获得对后面受保护网页的访问权限 url username password http www
  • MySQL 和 PHP:多关键字搜索

    我有一个包含逗号分隔关键字的字符串 例如 keywords keyword1 keyword2 keyword3 我的表架构 名为tbl address是这样的 简化的 id INT 11 PRIMARY KEY AUTO INCREMEN
  • 在 WooCommerce 订单和电子邮件中添加并显示自定义购物车项目数据

    我有一个名为彩票的自定义 woocommerce 产品类型 我需要在其上添加一个自定义选择字段 因为它不是可变产品 所以我添加了一个 一切工作正常 我在购物车和结帐中也获得了价值 但我无法在管理订单或订单邮件 客户和管理员 中获得价值 这是
  • 如何在 laravel/php 中访问该集合的内容

    我是 Laravel 的新手 正在做一个构建迷你社交网络应用程序的项目 我有一个与用户模型有关系的帖子模型 我有一个帖子页面 其中仅显示经过身份验证的用户及其朋友的帖子 在我的 PostController 中 我像这样查询经过身份验证的用
  • MPDF 未定义索引错误

    我正在使用 MPDF 库将 HTML 转换为 PDF 这是我的代码 HTML HTML CONTENT GOES HERE HTML STRING MPDF gt WriteHTML html Converting MPDF gt Outp
  • 如何在 phpfarm php 安装上安装 pthreads

    记录我为帮助他人所做的努力 并希望得到一些关于我如何做得更好的反馈 命令pecl install pthreads由于我的 php 安装失败ubuntu 13 04盒子没有配置 zts Options 1 ubuntu存储库没有启用zts的
  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • 使用 shell_exec Powershell 输出到 PHP 变量

    我有一个 powershell 脚本 它输出视频文件持续时间 运行这个脚本给了我预期的结果 Folder C my path to folder File sample1 1280 720 mp4 LengthColumn 27 objSh
  • 如何从对应的数组值中获取数组键?

    您可以轻松地通过其键获取数组值 如下所示 value array key 但如果我有该值并且想要它的密钥怎么办 获得它的最佳方式是什么 你可以使用array search https www php net manual en functi
  • Keycloak 社交登录 REST API

    我已经为我的 keycloak 实例启用了谷歌社交登录 但我需要将其用作休息服务 是否有可用于执行此操作的端点 Keycloak 中没有 Google 身份验证 API 但您可以使用以下方法解决它代币交换 https www keycloa
  • 如何在 MySQL 中使用 INET_ATON 进行通配符搜索 IP 地址?

    我发现这个方法可以使用 INET ATON 将 IP 地址作为整数存储在 MySQL 数据库中 https stackoverflow com a 5133610 4491952 https stackoverflow com a 5133
  • 基于资源的访问控制与基于角色的访问控制

    我正在学习 Apache Shiro 发现了这篇文章 新的 RBAC 基于资源的访问控制 http www stormpath com blog new rbac resource based access control 作者说 您可以将
  • PHP 中 while (true){ 是什么意思?

    我看过这段代码 但不知道这意味着什么 while true echo Hello world 我知道什么是 while 循环 但是 while true 是什么意思 会执行多少次 这不是无限循环吗 虽然是无限循环 但您可以使用以下命令退出它
  • 尝试使用curl进行GET,发送的值允许为空

    我正在尝试使用curl 来执行一个简单的GET 其中包含一个名为redirect uri 的参数 被调用的 php 文件打印出 GET redirect uri 的空字符串 它显示 red 并且似乎没有发送任何内容 执行获取操作的代码 Ge
  • PHP strtotime返回Mysql UNIX_TIMESTAMP的不同值

    我在 stackoverflow 上搜索过帖子 发现了一些类似的帖子 但我认为这是一篇不同的帖子 我的 PHP 和 Mysql 服务器的时区全部设置为 UTC 在表中我使用时间戳字段 值为 2010 11 08 02 54 15 我使用这样
  • CKEditor TypeError:c[a] 在 CodeIgniter 中未定义

    我正在尝试在基于 codeigniter 的网站中安装 CKEditor 并且我已按照本教程进行操作 Codeigniter 教程中的 CKEditor http nukium com developpement php framework
  • 在 Java 服务器中验证 Windows 用户

    我正在开发一个用 Java 编写的服务器和一个在同一网络上的 Windows 计算机上运行的客户端 用 Net 编写的桌面应用程序 我希望进行一些基本身份验证 以便服务器可以确定运行客户端的用户的用户名 而不需要用户在客户端中重新输入其 W
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的

随机推荐