【问题标题】:Including a PHP File: cURL, Pathing, and Security Risks包含 PHP 文件:cURL、路径和安全风险
【发布时间】: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中有任何类、函数等,你将无法使用。

标签: php security curl


【解决方案1】:

如果您从不同的域但相同的服务器加载数据,您可以简单地使用包含和路径,但您既不能获取带有 url 的 php 文件,也不推荐它。

【讨论】:

  • 如何使用包含路径而不出现权限拒绝错误?如何设置权限?
  • 你可以给你的 apache 运行所在的 userid 文件夹授予组权限。谷歌关于更改 linux 中文件夹的所有者组。它的 linux 的 chown cmd
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 2019-04-21
  • 2013-06-11
  • 1970-01-01
相关资源
最近更新 更多