你如何检测CGIproxy?

时间:2009-10-24 20:23:52

标签: php http proxy cgi

我有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代理是否有可能不被发现?

btw CGI代理是最好的,因为它呈现JS。

4 个答案:

答案 0 :(得分:1)

也许在您的PHP测试程序中,您可以转储所有 HTTP标头,以查看正在发生的事情以及是否有任何类似于识别信息的内容。我们很难猜出Myspace在做什么。

答案 1 :(得分:0)

完全可以猜到,但您可能无法通过CGIProxy获取MySpace Cookie。

CGIProxy将其列为已知限制:

  

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

另一个选项(假设您对运行代理的计算机具有shell访问权限)是使用SSH中包含的SOCKS代理-D flag

答案 2 :(得分:0)

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

回到HS日,这就是我们过去常用的学校过滤器来阻止它的过程。据我所知,工作得相当好,我最近没有尝试过,但值得一试。

答案 3 :(得分:0)

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

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

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