如何安全地使用php cURL获取远程页面

问题描述:

我将有一个应用程序,我将提示用户输入一个URL(使用适当的正则表达式URL验证),并使用cURL返回页面并对其执行一些检查。如何安全地使用php cURL获取远程页面

以cURL安全地返回远程网页的最安全方式是什么?据我所知即使cURL也有一些漏洞,例如'安全模式'安全绕道(http://www.securityfocus.com/bid/27413)。

SecurityFocus声称这已在PHP 5.2.6中修复。如果你不能升级到那个,你需要手动检查那个攻击媒介。也许您在您的用户输入,如果该URL绝对有在它前面的“http”,与if (substr($url, 0, 7) == 'http://'))

此外,根据意见对this php bug report卷曲给你选项来禁用特定protocls,包括访问本地文件,但只当您从源代码进行配置和编译时。根据cURL install manual它必须是这样的(未经测试):

./configure --disable-file