用户可以控制的任何变量,攻击者也可以控制,因此是攻击的来源.这被称为"污染"变量,并且不安全.
使用时$_SERVER,可以控制许多变量.PHP_SELF,HTTP_USER_AGENT,HTTP_X_FORWARDED_FOR,HTTP_ACCEPT_LANGUAGE和许多其它的是由客户端发送的HTTP请求报头的一部分.
有没有人知道"安全列表"或无污染的$_SERVER变量列表?
我在Apache中使用SetEnv来设置我在PHP中使用恢复的虚拟主机中的一些变量$_SERVER[the_variable].
现在我转而使用Perl Catalyst和Nginx,但似乎Nginx中的"env"指令并不相同.这是行不通的.如何实现?
这是背景图片,以防万一有人可以建议更好的方法或我以前的系统不能与Nginx一起使用.
伪造或劫持$_SERVER['REMOTE_ADDR']变量内容是否可能?
我想伪造一个请求:
$_SERVER['REMOTE_ADDR']='127.0.0.1';
Run Code Online (Sandbox Code Playgroud)
我怎么能用PHP做到这一点?CURL能以某种方式做到这一点吗?