我在包含文件中设置 $_SERVER 变量,如下 -
$_SERVER['BOT'] = isset($_SERVER['BOT']) ? $_SERVER['BOT'] : 0; // assume this is not a bot
$_SERVER['REALPAGE'] = isset($_SERVER['REALPAGE']) ? $_SERVER['REALPAGE'] : 0; // assume this is a real page
if (!isset($_SERVER['HOST'])) {
$_SERVER['HOST'] = isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : gethostbyaddr($_SERVER['REMOTE_ADDR']);
}
if (!isset($_SERVER['REFERER'])) {
$_SERVER['REFERER'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
}
if (!isset($_SERVER['AGENT'])) {
$_SERVER['AGENT'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
}
然后将它们用于各种其他包含中,以定义页面是否真实或访问者 IP 地址是否为 BOT。
现在我注意到,虽然 $_SERVER['BOT']、$_SERVER['REALPAGE']、$_SERVER['HOST'] 和 $_SERVER['REFERER'] 没有问题,但有时 $_SERVER[ ‘代理人’]改变了。
是因为AGENT是保留字还是类似的东西?
顺便说一句,我设置这些没有任何问题,尽管 Stackoverflow 和网络上其他地方的研究表明这是不允许的。 有什么理由让我在设置这些时没有遇到困难吗?
** Custom $_SERVER variable**
$_SERVER['MY_CUSTOM_VARIABLE'] = 'MyValue';
** Use the custom variable**
echo $_SERVER['MY_CUSTOM_VARIABLE'];