如何在PHP中从客户端设置自定义$ _SERVER变量

时间:2015-05-01 13:42:24

标签: php

根据这篇文章:Which $_SERVER variables are safe?和我见过的另一篇文章,客户端似乎能够设置自定义$ _SERVER变量。例如:$ _SERVER ['HTTP_EXAMPLE']

客户如何将值实际设置为$ _SERVER ['HTTP_EXAMPLE']?

2 个答案:

答案 0 :(得分:11)

如果您有权访问Apache配置文件,则可以使用mod_env

进行操作
SetEnv HTTP_EXAMPLE http_example

然后您可以访问该变量

echo $_SERVER["HTTP_EXAMPLE"]; //outputs http_example

答案 1 :(得分:2)

如果需要,您可以在脚本中设置变量

$_SERVER['DOCUMENT_ROOT'] = 'test';
echo $_SERVER['DOCUMENT_ROOT'];  // test

其他文章实际上指的是欺骗性变量,例如客户报告的REMOTE_ADDR

有关详细信息,请查看有关伪造REMOTE_ADDR的帖子。 How to fake $_SERVER['REMOTE_ADDR'] variable?

相关问题