PHP $_SERVER[‘HTTP_REFERER’] 小注意

PHP中$_SERVER[‘HTTP_REFERER’]返回上一个页面来路链接,

其中有PHP手册是这样说的:

“HTTP_REFERER”
链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。

有chrome浏览器下,这个值总是有效,
但在IE浏览器下的话,假如你是通过js的location来跳转的话,那这个值是获取不到的。
继续阅读

PHP获取服务器真实IP

昨天写了获敢PHP获取用户真实IP
所以为了配合上一个,今天就写一个获取服务器的真实IP

/**
 * 获取服务器的ip
 *
 * @access      public
 *
 * @return string
 **/
function real_server_ip()
{
    static $serverip = NULL;
 
    if ($serverip !== NULL)
    {
        return $serverip;
    }
 
    if (isset($_SERVER))
    {
        if (isset($_SERVER['SERVER_ADDR']))
        {
            $serverip = $_SERVER['SERVER_ADDR'];
        }
        else
        {
            $serverip = '0.0.0.0';
        }
    }
    else
    {
        $serverip = getenv('SERVER_ADDR');
    }
 
    return $serverip;
}

使用方法同样很简单,直接 echo real_server_ip(); 就可以输出服务器的IP

继续阅读

PHP $_SERVER[”] 参数详解

$_SERVER[‘PHP_SELF’] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER[‘argv’] #传递给该脚本的参数。
$_SERVER[‘argc’] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER[‘GATEWAY_INTERFACE’] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER[‘SERVER_NAME’] #当前运行脚本所在服务器主机的名称。
$_SERVER[‘SERVER_SOFTWARE’] #服务器标识的字串,在响应请求时的头部中给出。
$_SERVER[‘SERVER_PROTOCOL’] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER[‘REQUEST_METHOD’] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

继续阅读