评测方法
如果你并不关心代码,请直接跳至检测结果
function scanProxy($proxy,$url,$socks=true,$timeout=10)
{
$ch = curl_init($url);
$headers["User-Agent"] = "Proxyscanner/1.0";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0); //we don't need headers in our output
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,$timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //return output as string
$proxytype = ($socks?CURLPROXY_SOCKS5:CURLPROXY_HTTP); //socks or http proxy?
if($proxy)
{
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, $proxytype);
}
$out = curl_exec($ch);
curl_close($ch);
return trim($out);
}
你可以用这个函数做各种分析:
·检查代理是否隐藏了你的IP,通过 http://ip.haschek.at 找到你的IP,然后你可以在参考数据中检查是否有与你的IP相同的;
·检查代理是否使用的https隧道传输(一种安全传输协议),如果不是,那可能是服务器拥有者想查看明文,然后从中提取数据;
·检查代理是否修改了静态网页(例如:添加广告)。
他们中的大多数在结束标签之前加入了下面这段代码:
<script type="text/javascript" charset="utf-8" mediaproAccountID="0" mediaproSlotID="0" usermac="" src="/7b26d4601fbe440b35e496a0fcfa15f7/00212600d7e6/w1/i.js" async="async" defer></script><meta charset="utf-8">
绝对的恶意广告,及可能存在cookie窃取。然而,笔者并没有进一步进行检测。
另一个广告注入代理服务器更加“精致”。他们页面的注入脚本如下:
<script type="text/javascript" charset="utf-8" mediaproAccountID="0" mediaproSlotID="0" usermac="" src="/7b26d4601fbe440b35e496a0fcfa15f7/00212600d7e6/w1/i.js" async="async" defer></script><meta charset="utf-8">
有趣的是,他们指向一个看起来像是本地的JS。当浏览器通过代理服务器请求这一文件,代理就会劫持请求然后回复一个受感染的JS。因为它和另一个相同,并非一个跨域JS链接。
如果你仍然认为自己有必要使用一个免费代理服务器,尝试使用一个HTTPS可用的,并且要访问安全的站点。