file_get_contents vs cUrl。哪个更相关,更安全?

时间:2014-09-22 09:36:09

标签: php security curl file-get-contents

哪种安全性更合适?

如果是file_get_contents(),如果发生任何错误,它会显示错误消息中可能容易受到攻击的URL。

3 个答案:

答案 0 :(得分:3)

我认为curl更安全,因为如果您使用file_get_contents()处理远程文件,则需要启用'allow_url_fopen'

参考:
http://25labs.com/alternative-for-file_get_contents-using-curl/
http://phpsec.org/projects/phpsecinfo/tests/allow_url_fopen.html

继续讨论问题中的评论,是cURL为您提供了更多选项,如果您想查看更多内容,可以在文档here中查看。 对于file_get_contents(),它只是一个简单的GET请求。

答案 1 :(得分:0)

  • file_get_contents仅对GET请求
  • 有用
  • file_get_contents需要allow_url_fopen才能访问远程来源
  

如果已启用fopen包装,则可以使用此函数将URL用作文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息,使用说明以及它们可能提供的任何预定义变量的信息,请参阅支持的协议和包装器。

  • 您在使用cURL的请求中有更多选项。看看setopt

它会显示错误消息中可能容易受到攻击的网址。

关闭错误报告并确保取消激活display_errors。创建自己的处理程序来处理错误也是值得的。

error_reporting(0);
ini_set('display_errors', 0);

答案 2 :(得分:0)

file_get_content可以通过stream_context_set_option发布,但是,我认为可能会更强大。

参考: