【问题标题】:php.ini request_order security concernsphp.ini request_order 安全问题
【发布时间】:2018-07-26 12:14:27
【问题描述】:

我们正在使用 Chef 来配置我们的机器。最近发现 CentOS 的 Chef PHP 配方没有 request_order 参数集。它使用variables_order 参数,该参数设置为EGPCS

php.ini 的文档说

...出于安全考虑,默认分发 php.ini 文件不包含用于 cookie 的“C”。

我的问题是真正的安全问题是什么?

我不是 PHP 开发人员,我询问过的少数开发人员设法给出了模棱两可的答案。谷歌也没那么有用

【问题讨论】:

    标签: php security


    【解决方案1】:

    request_order 字符串

    该指令描述了 PHP 将 GET、POST 和 Cookie 变量注册到 _REQUEST 数组中的顺序。注册是从左到右完成的,新的值会覆盖旧的值。

    如果未设置此指令,variables_order 将用于 $_REQUEST 内容。

    请注意,出于安全考虑,默认分发 php.ini 文件不包含用于 cookie 的“C”。

    所以这意味着默认情况下您的$_REQUEST 不会包含来自$_COOKIE 的参数。

    这意味着如果您在 cookie 中有 $_COOKIE['is_admin'] = false,则在滥用 $_REQUEST 超全局时,您不能通过 http://example.com/?is_admin=1 来更改 cookie 值。

    例如if ($_REQUEST['is_admin']){$this->showAllPasswords()} 将 Cookie 填充到 $_REQUEST

    【讨论】:

    • 您能否添加一些由此引发的“安全问题”示例?如果它的水平不涉及 PHP 特定知识,我会喜欢它。
    • @Dumitru 好吧,安全问题源于以错误/不安全的方式使用 PHP。非php相关方式:俱乐部有VIP客户和普通客户。您只允许 VIP 区域的 VIP 客户,但要知道它是否是 VIP,您只需询问 client pool 是否是 VIP。普通客户说他是 VIP,你允许进入而不是检查一些特定的 VIP 列表
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2014-08-19
    相关资源
    最近更新 更多