我在浏览php页面时隐藏我的真实IP地址

时间:2010-08-24 09:08:59

标签: php proxy hide ip

这个php函数返回客户端的真实IP地址:

function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

当我为IE设置ip:端口代理时,此代码仍显示我的真实IP,我不知道如何隐藏我的ip从这个PHP代码! (如VPN机制)

3 个答案:

答案 0 :(得分:1)

这不是你的错。如果你想隐藏真正的IP,你必须找到一个真正的匿名代理(也称为'精英')。您无法更改http标头以伪造您的IP - 这些标头(实际上是HTTP_X_FORWARDED_FOR)是由透明代理服务器即时添加的。

当通过非精英但正常的匿名代理进行连接时,只会有一个标题表示连接被转发,但不会显示您的真实IP。

您也可以使用不修改http标头的SOCKS代理,因为它们没有指定的协议,只能在TCP连接中进行调解。

某些代理可以使用自己的非标准标头发送您的IP。如果你想确定你的IP没有在任何地方给出,你应该编写自己的测试器,它将解析所有标题以找到你的确切IP。

另外请记住,并非每个代理都是安全的,其中一些代理可以由黑客设置来捕获密码或动态更改数据。

答案 1 :(得分:0)

所有标头都可由客户端填写。套接字的终点是不可原谅的 - 但是对于像tor这样的设施,你不能依赖于数据的准确,更不用说NAT了。

无论您想要实现什么,都不应该依赖函数返回的信息。您应该使用它的唯一地方是大样本大小的指示性信息(例如,用于GIS ip /地址查找)。

您当然不应该将其用于身份验证目的。

答案 2 :(得分:-2)

如果将CURL和curl_setopt()与此选项一起使用 - CURLOPT_INTERFACE

但这不会将数据返回给您,而是返回到新的IP地址集。