在php中获取url内容的安全性

Dee*_*lue 3 php security url curl fetch

我担心在PHP中从未知URL获取内容的安全性.

我们将基本上使用cURL从用户提供的URL获取html内容并查找Open Graph元标记,以将链接显示为内容卡.

因为网址是由用户提供的,所以我担心在此过程中可能会收到恶意代码.

我有另一个问题:curl_exec实际上是将完整文件下载到服务器吗?如果是,则使用curl时可能会下载病毒或恶意软件吗?

Rei*_*Rei 9

使用cURL类似于使用fopen()fread()从文件中获取内容.安全与否,取决于您对获取的内容所做的事情.

根据您的描述,您的服务器可以作为某种中介,从提取的HTML内容中提取特定的子内容.即使获取的内容包含恶意代码,您的服务器也不会执行它,因此您的服务器不会受到任何伤害.

此外,由于您的服务器仅提取特定的子内容(如您所说,Open Graph元标记),因此忽略了您在获取的内容中寻找的所有其他内容,这意味着您的用户将自动受到保护.

因此,在我看来,没有必要担心.当然,这依赖于内容提取过程是健全的假设.有人应该看一看并确认一下.

curl_exec实际上是将完整文件下载到服务器吗?

这取决于你的"完整档案"的含义.如果您的意思是"整个HTML内容",那么是的.如果你的意思是"包含feched HTML内容可能引用的所有CSS和JS文件",那么没有.

是否可能在使用curl时下载病毒或恶意软件?

答案是肯定的.获取的HTML内容可能包含恶意代码,但是,如果您不执行它,则不会对您造成任何伤害.

同样,我假设您的内容提取过程是合理的.