请告诉我如何检测用户是否支持免费网络代理?
答案 0 :(得分:1)
您基本上需要一个包含所有已知网络代理的数据库。如果你想要这个,因为你想禁止代理后面的用户访问,我会说这是浪费时间。新的代理一直在出现,很难维护一个最新的数据库。
答案 1 :(得分:0)
除非您有一份详尽无遗的每个免费网络代理列表,否则(每天都会添加更多)
您能告诉我们您想要做的更多事情吗?也许我们可以找到另一种方式来帮助你。
答案 2 :(得分:0)
我对代理服务器了解不多,但我认为您可以检查HTTP标头中的X-FORWARDED-FOR
字段。
答案 3 :(得分:-3)
if( ($_SERVER['HTTP_ACCEPT_ENCODING'] == "") or !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
{
// using a proxy
echo( "<font color=red><b>Using a Proxy</b></font><br>" );
}
else
{
// not using a proxy
echo( "<font color=green><b>Not using a Proxy</b></font><br>" );
}
我在使用和不使用代理的情况下查看了$_SERVER
数组,我发现在代理后面,$_SERVER['HTTP_ACCEPT_ENCODING']
没有使用,当不在代理后面时,它被使用。我还没有找到任何使用它的代理,我也没有发现任何不使用代理时不使用$_SERVER['HTTP_ACCEPT_ENCODING']
的情况。
亲自测试一下,你会发现它有效。