【发布时间】:2014-02-17 08:28:43
【问题描述】:
所以我听说过很多关于 cURL 存在安全风险的信息。我需要知道我所做的事情是否存在安全风险,如果有,我该如何预防。
我通过 Host Gator 拥有自己的 VPS(虚拟专用服务器)。
基本上我试图包含来自不同域的文件。两个域都在同一台服务器中。我尝试使用绝对路径来包含文件,但我不断收到权限被拒绝错误。
这是我使用 cURL 包含文件的代码:
$url = "http://mydomain.com/include.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
这样做有安全风险吗?如果是这样,我该如何防止这种安全风险?
此外,如何设置域的权限,以便在同一服务器上包含来自另一个域的 PHP 文件?
【问题讨论】:
-
这里没有特殊的“安全风险”,因为您没有对从该域获取的结果做任何事情(这实际上让我想知道您为什么首先这样做.. .)。如果您将在代码或渲染页面中使用结果,将存在安全风险,因为它可能包含各种攻击代码。除非您最终信任该其他域,否则您根本不应该这样做。
-
请记住,当您通过 cURL “包含”(不是
including)文件时,您不会得到可以在您身边使用的 PHP 代码,但您会得到计划文本结果 - html 、纯文本等。cURL 就像一个网络浏览器调用。所以如果include.php中有任何类、函数等,你将无法使用。