PHP中的$ _SERVER变量可以由用户更改吗? 如果是这样的话?

我需要为我正在编写的mvc框架使用$ _SERVER变量,如SCRIPT_FILENAME。 我想知道用户是否可以改变这样的事情。 假设用户请求index.php,他们是否可以伪造SCRIPT_FILENAME变量并将其重命名为其他正在发送的变量?</ p>
</ div>

展开原文

原文

I need to use $_SERVER variables like SCRIPT_FILENAME for a mvc framework I'm writing. I'm wondering if a user can change things like that. Say the user requests index.php, can they fake the SCRIPT_FILENAME variable and rename it to something else that is being sent over?

php

3个回答



某些 $ _ SERVER </ code>值是安全的,有些则不是。 不安全的主要以 HTTP _ </ code>开头,是用户浏览器发送的HTTP标头。</ p>
</ div>

展开原文

原文

Some $_SERVER values are safe, others are not. The unsafe ones mostly start with HTTP_ and are the HTTP headers sent by the user's browser.



是的,有可能。</ p>

参见这篇文章:如何绕过REFERER安全检查。</ p>
</ div>

展开原文

原文

douyao2529
douyao2529 链接坏了。
4 年多之前 回复



假设用户无权访问通过其他脚本重定向脚本执行的某种方式,或访问 服务器,我会说不。
另外,如果你真的很担心,你可以使用 __ FILE __ </ code>,它不依赖于用户数据。</ p>
</ div >

展开原文

原文

Assuming that the user doesn't have access to some way that re-directs the execution of the script through another script, or access to the server, I'd say no. Also, if you're really worried about that, you can use __FILE__ which doesn't depend on user data.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问