首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >allow_url_fopen安全吗?

allow_url_fopen安全吗?
EN

Stack Overflow用户
提问于 2014-06-04 23:58:45
回答 2查看 17.5K关注 0票数 8

我目前正在使用file_get_contents()获得一个网页的标题,给定的网址。在wamp上,这是非常好的。然而,当我把它转到我的web服务器上时,我遇到了一个问题,导致我找到了的答案。(将allow_url_fopen设置为1)。

设置这个有重大的安全风险吗?如果是,有没有其他方法从URL本身抓取网页的标题?

(此外,不确定这方面的标签,因此请随时酌情添加/删除!)

编辑(1):进一步的研究给我带来了问题,这个问题说这也是一种风险,如果应用程序不需要它,就禁用它。不幸的是,这并没有充分地告诉我所涉及的风险。

编辑(2):快速注意,我将使用这个函数与用户输入(网址),而不是内部,这就是为什么我要确保绝对不涉及安全风险

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-05 00:20:03

这只是您希望将allow_url_fopen设置为0的原因之一。

假设您允许用户输入一个url,并且让您的服务器获取这个url。

你可以这样编码:-,你不应该编码这个-

代码语言:javascript
运行
复制
echo file_get_contents($_POST['url']);

问题是这里有一个安全问题。有人可以传递文件路径而不是url,并且可以访问服务器的文件。

例如,可能有人将/etc/passwd作为url传递,并能够查看其内容。

现在,如果allow_url_fopen设置为0,那么您将不会使用file_get_contents来获取URL,而是使用CURL。

票数 10
EN

Stack Overflow用户

发布于 2014-06-05 00:09:20

allow_url_fopen很好。如果您需要该功能,请启用它。有更好的工具可以从远程URL加载数据(比如卷曲扩展),但是对于一些简单的用例来说,它已经足够了。

其近亲allow_url_include是不安全的。它允许像include()require()这样的函数从远程URL加载和运行代码,这是一个非常糟糕的想法。把那个关了。

在过去,allow_url_include并不总是作为一个独特的选项存在,因此有必要关闭allow_url_fopen,以防止编写糟糕的脚本包含来自远程URL的数据。不过,现在已经不是这样了。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24049534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档