php - php.ini request_order 安全问题
问题描述
我们正在使用 Chef 来配置我们的机器。最近发现 CentOS 的 Chef PHP 配方没有request_order
参数集。它使用variables_order
设置为 的参数EGPCS
。
php.ini 的文档说
...由于安全问题,默认分发 php.ini 文件不包含用于 cookie 的“C”。
我的问题是实际的安全问题是什么?
我不是 PHP 开发人员,我问过的少数开发人员设法给出了模棱两可的答案。谷歌也没有那么有帮助
解决方案
request_order字符串
该指令描述了 PHP将 GET、POST 和 Cookie变量注册到 _REQUEST数组中的顺序。注册是从左到右完成的,较新的值会覆盖较旧的值。
如果未设置此指令,则 variables_order 用于 $_REQUEST 内容。
请注意,出于安全考虑,默认分发 php.ini 文件不包含 cookie 的“C”。
因此,这意味着默认情况下您$_REQUEST
将不包含来自$_COOKIE
.
这意味着如果您有 cookie,则在滥用超全局时$_COOKIE['is_admin'] = false
您无法通过http://example.com/?is_admin=1
更改 cookie 值$_REQUEST
。
例如if ($_REQUEST['is_admin']){$this->showAllPasswords()}
,当将 Cookie 填充到$_REQUEST
推荐阅读
- android - 如何使 onCreateOptionMenu 像 onResume 一样工作
- flutter - 如何从firebase文档快照中获取子集合
- r - R中宽限月的EMI计算
- java - 为数据库创建实体
- reactjs - 如何在 React 中将数据添加到待办事项?
- reactjs - 为什么 react setState 在 useEffect 中不起作用?
- json - 有没有办法使用默认的“内置”(宏生成)并且只覆盖单个属性?
- java - 如何以正确的方式修剪java中的字符串并将其拆分为3个单独的文本视图
- c# - 异步等待行为同步
- spring-boot - 如何通过 https 注册 spring-boot 应用程序到 consul?