问题描述
我有一些连接到网络服务器的 PHP (PHP 7.4) 程序,当我不使用 VPN 时会导致问题。
遗憾的是,我们只是使用服务器而没有任何配置权限。 因此,如果您需要特定的东西,我可以要求提供此信息。
有一些服务器信息
数据库服务器
服务器类型:MariaDB
服务器版本:10.4.20 MariaDB - MariaDB 服务器
网络服务器
Apache/2.4.37(centos)
PHP 版本:7.3.20
PHPinfo():
PHP 7.4.18
测试该程序的其他人得到相同的结果。 我的 PHP 程序与 VPN 和本地完美配合。
现在问题来了:
这是一些简单的程序。您需要回答问题以进一步了解,一段时间后您可以结束该计划。调查,您可以通过在您找到的任何浏览器中键入 URL 来启动它。
#这让我走到了这一步#
程序在工作时随机中断(没有特定的站点或元素)。离开超时网站并弃用非 js 模块控制台消息。显然,有些东西已被弃用。
#现在我使用VPN#
程序在任何时候都不会中断。此程序适用于测试程序的每个人。这意味着,我没有收到消息“不推荐使用的非 js 模块”。
要么没有被弃用,要么有其他原因使程序在没有超时的情况下工作。
错误代码
网站
ERR_CONNECTION_TIMED_OUT
Chrome 控制台
VM9:7146 crbug/1173575,不推荐使用非 JS 模块文件。
我的做法和想法:
-> 使用 PHPStorm 和:
ini_set('display_errors',1)
ini_set('display_startup_errors',1)
error_reporting(E_ALL)
-> 有一些东西。每个使用过的不推荐使用的东西都可以轻松替换。幸运的我。
-
IP 地址在程序运行期间是稳定的。
-
程序正在本地运行。测试了 50 次,没有任何中断。
-
程序正在使用 VPN。测试了一下...
-
会话变量在 6 小时后过期。
-
经典的 MysqLi_connect。
-
会话 cookie。
-
使用 css 和 js 文件。
####新事实
- 我测试了其他一些 PHP 程序(更复杂 - 需要添加“preventDefault()”以使其适用于 Chrome/Safari)。使用相同的文件和受污染的 PHP 程序的每个功能。没有 VPN 也不会超时。
-> 现在我想是具体的程序。但为什么?没有什么新的使用。
区别:
损坏的程序会显示一些文本和答案选项,您需要单击才能进入下一个站点。当我按下单选按钮发送值时,网站超时随机发生。
新程序还显示了一些文本和这些答案选项。但是你可以和它互动。按下单选按钮后,您会看到图片和按钮,告诉您该做什么。我添加了一个简单的事件处理程序 (js) 来显示这些图片和按钮并隐藏它们(取决于程序给你的条件)。它使用相同的功能发送值,呈现图片/文本,跳转到下一页。它通常有更多的页面,因此更多的文字和图片。
-
我使用的 VPN 必须离服务器非常近。但不能确定。它就像一个大学 VPN 来访问特定的东西。
-
使用 handy-network (5G) 对其进行了测试。没有超时!我让人们测试它,所以我们得到了一些稳定性统计数据。
重要的是,此 vpn 网络之外的人(不仅是我)可以访问该程序并成功结束它!
你能告诉我一些我可以遵循的线索吗?
谢谢。 :)
解决方法
我解决了我的问题,联系了服务器支持。 防火墙规则非常严格,并且被列入黑名单的人以每秒 >1 次点击测试程序。显然这是机器人的行为。
这也解释了其他 php 程序的工作原理,它使用相同的功能、文件和所有内容。在那里,您的速度不会超过每秒 1 次点击,因为您需要等待某些元素向您展示要执行的操作,然后才能发送生成的值。
特别感谢ADyson! :)