【问题标题】:How Detect Anonymous, Misleading Proxy Request Using PHP Code?如何使用 PHP 代码检测匿名、误导性代理请求?
【发布时间】:2011-10-14 09:22:52
【问题描述】:

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

我已经从$_SERVER Request 中检查了客户端是否使用代理。我帮助为此提供了链接

Detecting whether a user is behind aproxy

【问题讨论】:

标签: php http proxy


【解决方案1】:

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

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

【讨论】:

  • 是的,你是对的,我对此有问题。某些代理更改了每个请求中的 IP 地址。有什么办法可以找出这个吗?
  • @AbdulMajeed:跨请求跟踪 IP,例如带有$_SESSION。然后你就可以检测到变化了。
  • @AbdulMajeed 自然,通过代理路由的请求将来自代理的 IP 地址,而不是网络浏览器的。与其担心代理的存在,为什么不担心代理引入的问题呢? 为什么您要检测用户是否在代理后面?
  • @phihag:我已经在应用程序上创建了。
  • @AbdulMajeed 对不起,我不明白。您的评论似乎缺少一个或多个句子。
猜你喜欢
  • 1970-01-01
  • 2016-06-12
  • 2021-05-22
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多