【问题标题】:Why was CURLOPT_FOLLOWLOCATION made incompatible with open_basedir?为什么 CURLOPT_FOLLOWLOCATION 与 open_basedir 不兼容?
【发布时间】:2014-11-06 21:08:06
【问题描述】:

当服务器管理员设置open_basedir 时,PHP 的 cURL 库不允许跟随 HTTP 重定向。 这在 SO 上产生了诸如 curl follow location error 之类的问题,其中有很多重复项,大多数答案要么是“切换到允许关闭 open_basedir 的托管服务提供商”,要么是 abstraction inversions 尝试(具有不同的质量水平)重新实现PHP 中 cURL 的 HTTP 重定向逻辑。

我只是想知道为什么 PHP 开发人员一开始就选择让它们互斥。 当服务器管理员设置open_basedir 时,PHP 拒绝遵循从一个 HTTP 或 HTTPS URI 到另一个 HTTP 或 HTTPS URI 的重定向的策略有什么安全目的?

【问题讨论】:

    标签: php security curl


    【解决方案1】:

    它最初是因为libcurl 没有忽略Location: file:// 重定向而实现的。由于curl 也允许本地文件访问,这将颠覆 basedir 约束。

    这种设计的“不兼容性”在最近的版本中被放宽了,顺便说一句:

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 2021-05-06
      • 2021-04-04
      • 2012-10-14
      相关资源
      最近更新 更多