【问题标题】:how do you detect CGIproxy?你如何检测 CGIproxy?
【发布时间】:2009-10-24 20:23:52
【问题描述】:

我有 cgiproxy (http://www.jmarshall.com/tools/cgiproxy/),它允许用户使用它来导航页面。

myspace.com 似乎检测到它并将用户转发到 google.com

使用代理进行快速测试以确定我的 ip 失败,这意味着它不会泄露我的 ip。它显示了代理服务器的 ip。

<?php

if (getenv("HTTP_X_FORWARDED_FOR")) {
      $ip   = getenv("HTTP_X_FORWARDED_FOR");
    } else {
      $ip   = getenv("REMOTE_ADDR");
}
print"$ip";

所以神秘的是,那里的网站如何检测到我正在使用 CGI 代理? cgi 代理是否有可能不被发现?

顺便说一句,CGI 代理是最好的,因为它呈现 JS。

【问题讨论】:

    标签: php http proxy cgi


    【解决方案1】:

    也许在您的 PHP 测试程序中,您可以转储 所有 HTTP 标头以查看发生了什么以及是否有任何看起来像识别信息的东西。我们很难猜测 Myspace 在做什么。

    【讨论】:

      【解决方案2】:

      完全是猜测,但您可能无法通过 CGIProxy 获取 MySpace cookie。

      CGIProxy 将其声明为已知限制:

      如果您浏览许多网站 cookie,CGIProxy 可能会丢弃一些。如果一个 网站不断告诉您启用 cookie,删除您现有的 cookie (通过“管理 cookie”链接)和 再次尝试该网站。

      另一种选择(假设您对运行代理的机器具有 shell 访问权限)是将 SSH 中包含的 SOCKS 代理与 -D flag 一起使用。

      【讨论】:

        【解决方案3】:

        我相信您想要安装的是 PHProxy:
        http://sourceforge.net/projects/poxy/

        早在 HS 时代,这就是我们用来绕过学校设置的过滤器来阻止它的方法。据我记忆,效果相当好,我最近没有尝试过,但值得一试。

        【讨论】:

          【解决方案4】:

          某些网站(例如 MySpace)不希望用户通过代理进行连接,因此他们不遗余力地检测到这一点。默认情况下,CGIProxy 会添加任何标头以使其可检测。检查您的 http 标头的一种简单方法是访问 http://www.ioerror.us/ip/headers

          检测这类事情的常用方法是让一些客户端 Javascript 检查它所在页面的 URL,并将其发送到服务器。使用 nph-proxy.cgi 我可以访问 Myspace 而无需任何此类重定向。

          用于检测的其他方法包括在页面上嵌入 Flash 或 Java 对象,并让该对象尝试连接到硬编码服务器。

          【讨论】:

            猜你喜欢
            • 2021-04-05
            • 1970-01-01
            • 2011-07-02
            • 2014-06-23
            • 2010-10-07
            • 2021-01-27
            • 2010-10-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多