【发布时间】:2019-05-26 18:21:03
【问题描述】:
目前关于 CURLOPT_SSL_VERIFYPEER 的建议是什么?传统上我总是将其设置为 false,因为它在获取 https:// URL 时总是会导致问题。
但现在我读到一条评论说这允许“中间人”攻击,我已经隐约知道了,我应该下载 https://curl.haxx.se/docs/caextract.html 文件并设置 curl.cainfo 配置指令。这只能在 php.ini 文件中设置,这会使一切变得一团糟。如果有的话,我想在我的实际应用程序中设置它。最好不必全部设置,我仍然不明白为什么首先需要设置...
我该怎么办?我不想要 MITM 攻击。为什么 PHP 没有提供适当的此类文件?有什么问题?
【问题讨论】:
-
您不应该关闭它,因为它很有用。如果您无法访问 https 站点,则表示您没有下载/安装最新的证书。
-
为什么我没有那个?
-
而且不是“HTTPS 站点”,而是“一些 HTTPS 站点”。
-
这解释了为什么您需要启用它。 curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
-
正确配置和更新的操作系统、PHP 和 curl 将正确设置证书包。您还可以指定一个 CA 包与 curl 选项
CURLOPT_CAINFO一起使用,因此可以在 php.ini 之外完成。