PhpProxy——PHP代理程序

今天听wp群里有人介绍PhpProxy,去找了一下,找到一个软件PhpProxy 2.1,还找到http://www.phpproxy.com/这个网站。

PhpProxy 2.1是中国人写的,上传文件到服务器上打开页面,可以看到一个输入URL地址的框。输入地址按确定,将会显示这个URL的页面。程序的原理也满简单,通过HTTP访问类使用fsockopen函数访问目标URL,然后处理一下得到的html代码,将其中的各个链接加上前缀,以便让浏览器仍然通过PhpProxy访问各个图片和CSS,js文件。他还可以支持https,这样就不怕关键词屏蔽了。我安装上去后访问了一下www.blogger.com,页面很快显示出来了,说明厦门那边没有屏蔽Blogger.com。不过是界面是英文的,输入用户名和密码后回车发现没反应,仔细一看才发现,登陆的按钮没了,哈哈。

http://www.phpproxy.com/网站用的是另一个同类软件,只不过可选择的项更多些。

这类程序一般都加密了URL,可以躲过URL检测。如果再开https,那么就无所不能了。当然,你的服务器必须在国外,国内一样没用。这类程序比较适合浏览文本页面,比如一些新闻网站,其他方面恐怕就不行了。另外还要注意,虽然程序名里也包含proxy这个词,可是和浏览器用的HTTP代理,socks代理可不是同一个东西。

那个人之所以提到这个东西是因为他说Tor不安全,“有间谍”。Tor每个连接都要经过3个地方,而由最后的连接点访问目标网站。如果这个点在做嗅探的话,确实可以截获密码。可是现在除了Tor,我没别的办法访问Blogger.com,只能将就着用。最好的办法还是由服务器端提供https链接,比如gmail的登陆时就是用的https。

Update:看了Dre.J《给用Tor的朋友提个醒》,又仔细想了想Tor的问题。Tor每个连接要经过3个点,这三个点的选择方式我不知道,不过我经常用Vidalia看network map,好像大多数连接都是连到国外的,仅有一次是先连到北京,再连到广州的。而且在有访问请求时Tor会维持3条以上的连接,Tor肯定会依次询问各条连接是否能访问到目标服务器,如果能访问到则一直用这条线路访问目标服务器。所以我觉得即使一条连接经过3个点后仍然在国内,然后受GFW影响,也不会造成影响。Tor开发出来就是为了能够突破访问的,各个细节方面都考虑的非常到位,比如访问要求使用socks4a协议,Tor不会一根绳子上吊死,如果一条连接不能访问的话,它会自动切换到其他连接访问的。就算一条连接返回了无法访问或者返回404,它也会继续尝试其他连接,即使所有连接都返回无法访问,它也会新建连接继续请求访问直到超时的。另外还有节点会记录访问记录的问题。成为Tor服务器必须提交申请获得通过才行的,作为Tor服务器,当然会知道某个IP通过本服务器访问了哪个URL。如果有人恶意记录下来这些信息的话,确实会有点问题。不过,只要你不访问FLG的站点,只是访问个blogger.com或者VOA,应该不至于被关起来吧。再有就是,Tor每个连接要经过3个节点,我不清楚这个通讯是怎么进行的。Tor的访问无疑是这样的:比如一条连接上依次是美国节点A,欧洲节点B,日本节点C。访问一个URL,本机将访问请求提交给A,A再提交给B,B再提交给C,C访问目标URL得到html代码再依次返回回来。我的想法是这样的:正如上面所说,Tor对细节考虑的很充分,Tor的图标就是洋葱onion,他形容自己的访问象洋葱一样要一层一层拨开。访问请求提交给A的时候,A自然知道本机的IP和目标URL,但是A在通知B 的时候,应该只会告诉他目标URL,并不会告诉他本机的IP。然后A自身做一个记录,哪个IP请求的这个URL,以便返回的时候知道该返回给谁。同样B也只告诉C目标URL,不告诉它本机和A的IP。最后返回的时候,C返回给B得到的数据,并告诉它数据是直接访问得到的;B返回给A数据,并告诉A数据是从C得到的。A返回给本机数据,并告诉本机数据是从B和C得到的。最后本机知道A,B,C的存在,知道链路的具体情况,但是A,B,C只知道后面链路的情况,比如A知道所有,B知道A和C,不知道本机,C只知道B。这样3层的连接过去,C和目标URL根本不可能知道本机的具体情况,这才是Tor每条连接要经过3点的原因。

综上所述,我觉得“Tor服务器会记录每个IP的访问记录”并不准确,现在有Vidalia,看network map很方便,最好经常看一下,保证第一个连接点也就是上面所说的A不在国内就好了。

写了这么多,应该给本文加个"Tor"的标签了,呵呵。

本文共有 10 条评论PhpProxy——PHP代理程序


  1. 1 Dre.J

    沙发,坚定了我“移民”才是王道的想法…………

  2. 2 toruser

    其实您写这么多,不如去稍微用心一点看看TOR的文档,
    通篇的猜测,自己不清楚也不要给别人误导啊。

  3. 3 toruser

    首先客户端从服务器取得服务器列表,然后从中随机取3个作为中转服务器,利用这3个中转服务器达到最后的地点,客户端和每个服务器都采用独自的密码,例如:客户端为X,他从TOR服务器中选择ABC作为中转,要取得网站Y上的数据

    首先X给A一个信封,里面的内容是请A将里面的另一个领土交给B。X给B的内容A是看不到的。然后A把信封给B,B可以看到A给他的信封里只是要其将第三个信封交给C。同上X给C的内容B也不知道。B把第三个信封交给C以后,C可以看到,有人要从Y上取回一些数据(比如网页等东西),但它不知道是谁要取,只管从Y上取回来以后,放到信封里,再将信封交给B,B收到信封以后再加一层信封交给A,A再收到,将信封还给X,X再逐层拆开,就成功的取得了Y上的内容。而ABC的任何一个,或两个都无法确定X是访问的哪里,或是谁要Y上的内容,他们只知道在X-A-B-C-Y这个链条上与自己相邻的服务器节点,而不知道其他人的任何信息。

    因此,除非有人同时控制了ABC,而你很倒霉的从百多台服务器里选了3个被同一个人/组织控制的机器,那你就是安全的。呵呵。

    如果是A被控制的话,只能知道你在用TOR访问网络,至于你在干什么,他也是查不出来的

    -----------------------------
    http://tor.eff.org/overview
    -----------------------------
    To create a private network pathway with Tor, the user's software or client incrementally builds a circuit of encrypted connections through servers on the network. The circuit is extended one hop at a time, and each server along the way knows only which server gave it data and which server it is giving data to. No individual server ever knows the complete path that a data packet has taken. The client negotiates a separate set of encryption keys for each hop along the circuit to ensure that each hop can't trace these connections as they pass through.

  4. 4 yskin

    嗯,你是对的,我确实考虑不周。

    本想直接回复的,不过写的很长,就发了篇新文章:《Tor建立连接线路的过程》,请多多指教。

  5. 5 air purifier

    我感觉你写的PHPProxy很好。

  6. 6 surfbebo

    www.aplusproxy.com 这里有很多在线代理,简单易用

  7. 7 tigergb

    http://www.RiskRoad.cn也提供WEB代理。

  8. 8 elang

    my proxy web http://youproxy.org

  9. 9 fbi

    Tor是被美国FBI控制的
    你说安全不

  10. 10 panp

    一群网络小孩子的评论。

请留下您的评论: