为什么使CURLOPT_FOLLOWLOCATION与open_basedir不兼容? [英] Why was CURLOPT_FOLLOWLOCATION made incompatible with open_basedir?

查看:81
本文介绍了为什么使CURLOPT_FOLLOWLOCATION与open_basedir不兼容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当服务器管理员设置 open_basedir 时,PHP的cURL库不允许进行以下HTTP重定向。
这在SO上产生了问题,例如 curl跟随位置错误,其中有很多重复项,大多数答案是切换到允许关闭 open_basedir 的托管服务提供商或抽象反转试图(以不同的质量级别)在PHP中重新实现cURL的HTTP重定向逻辑。



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

解决方案

最初是因为 libcurl 不会忽略<$ c而实现的$ c>位置:file:// 重定向。由于 curl 也允许本地文件访问,因此这将破坏baseir的约束。



这种设计的不兼容性被放松了在最新版本中,btw:



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆