声明自定义 $_SERVER 变量

问题描述 投票:0回答:1

我在包含文件中设置 $_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 和网络上其他地方的研究表明这是不允许的。 有什么理由让我在设置这些时没有遇到困难吗?

php variables superglobals
1个回答
0
投票
** Custom $_SERVER variable**
$_SERVER['MY_CUSTOM_VARIABLE'] = 'MyValue';

** Use the custom variable**
echo $_SERVER['MY_CUSTOM_VARIABLE'];
© www.soinside.com 2019 - 2024. All rights reserved.