如何使用 PHP 代码检测匿名、误导性代理请求?

发布于 2024-12-09 23:53:43 字数 263 浏览 0 评论 0原文

我想检查传入的 HTTP 请求是否来自透明代理、误导代理、使用 PHP 代码的 SOCKS 代理。我用 PHP 开发了一个应用程序。

我已经从 $_SERVER 请求中检查了客户端是否使用代理。我帮助吹掉了此链接

检测用户是否位于 aproxy 后面

I want check whether an incoming HTTP request is coming from a Transparent proxy, Misleading proxy, SOCKS Proxy using PHP code.I had developed one application in PHP.

I had checked the client using proxy or not from $_SERVER Request.I helped blow link for this

Detecting whether a user is behind aproxy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩世 2024-12-16 23:53:43

根据定义,无法区分真正的透明代理,因此无法阻止它们。理论上,您可以尝试识别远程系统的 TCP/IP 堆栈,并尝试将其与用户代理中声明的操作系统相匹配。然而,这种方法容易出错、不切实际、极其复杂,并且如果两者运行在同一操作系统上,自然无法区分“真正的”网络浏览器和代理。

如果您将误导性代理定义为更改内容的代理,则可以使用 JavaScript 检查内容。例如,如果代理将 添加到所有请求,请检查 document.querySelector('img[src=" http://evil.com/ad"]').length > 0 。

By definition, there is no way to distinguish a truly transparent proxy, so there is no way to block them. You could, in theory, try to identify the TCP/IP stack of the remote system and try to match that to the OS declared in the user-agent. However, this approach is erorr-prone, impractical, extremely complicated, and naturally cannot distinguish a "real" webbrowser from a proxy if both run on the same OS.

If you define a misleading proxy as one that alters the content, you can check the content with JavaScript. For example, if the proxy adds <img src="http://evil.com/ad"> to all requests, check document.querySelector('img[src="http://evil.com/ad"]').length > 0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文