我正在在PHP Web应用程序,并想读取其他域的内容。 看来,我的主要选择是fopencurl

什么是这两种方法之间的主要区别,特别是关于安全和可用的选项?

是否如果URL是http或https站点重要?

有帮助吗?

解决方案

卷曲使用外部库和它有很多更多的功率来定制请求 - 自定义首部,生成POST请求,上载文件。你需要的一切,我必须说。

F打开只限于只是使URL的GET请求而无需任何进一步的定制。

(如禁止的fopen远程URLS和这样的)

至于安全CURL不是由安全配置在PHP影响。

在这两种可能性回报你,你可以在你想每一个可能的方式使用数据。如果您在项目中的一个安全漏洞,获取数据后,是你的错,毕竟。

<击>我也不太清楚,但我认为的fopen无法处理SSL(HTTPS)连接。两者的fopen和卷曲支持SSL(由安迪Shellam修改下面的注释说明)。

其他提示

请参阅什么是使用的fopen($网址),并卷曲在PHP?对于影响的fopen即allow_url_include一些安全设置之间的重要区别。

此外,请注意,卷曲如果SETOPT CURLOPT_FOLLOWLOCATION然后卷曲如下重定向到文件://获取数据(仍然受到的open_basedir)。重定向到其他方案如ftp://可能会更糟糕(没有测试FTP://)。如果没有SETOPT袅袅不遵循在所有重定向。 FOPEN在默认情况下,似乎与302的工作,但只有HTTP:// - > HTTP://和的的HTTP:// - >文件://

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top