Php 通过mime_content_type()和imagecreatefromjpg()验证后上载文件是否安全?
我读了很多关于用PHP安全上传文件的文章(包括),我认为这是确保上传文件安全的最好方法 首先,我使用mime\u content\u type()检查其文件的类型。 如果是JPG、JPEG或PNG,我将使用imagecreatefromjpg()克隆它,如果成功,保存新文件并销毁原始文件 我不确定这是否足够安全,或者我需要做些别的事情。 非常感谢您的帮助。TL;DR:检查真实文件内容以检测类型 我做了一些测试Php 通过mime_content_type()和imagecreatefromjpg()验证后上载文件是否安全?,php,security,image-processing,file-upload,file-type,Php,Security,Image Processing,File Upload,File Type,我读了很多关于用PHP安全上传文件的文章(包括),我认为这是确保上传文件安全的最好方法 首先,我使用mime\u content\u type()检查其文件的类型。 如果是JPG、JPEG或PNG,我将使用imagecreatefromjpg()克隆它,如果成功,保存新文件并销毁原始文件 我不确定这是否足够安全,或者我需要做些别的事情。 非常感谢您的帮助。TL;DR:检查真实文件内容以检测类型 我做了一些测试 当我创建文本文件并将其命名为“spoofily”spoof.jpg…时,检测到的mim
spoof.jpg
…时,检测到的mime类型仍然是
text/plain
PHP警告:mime\u内容\u类型(not.exist):
无法打开流:没有此类文件或目录
mime\u content\u type
检查文件内容中的mime类型
它是完全安全的吗?检测真的mime类型是安全的,这是肯定的;)
不过,您还应该检查大小或清理文件名(当重新使用时),有关更多安全性详细信息,安全堆栈上有一个很好的答案:
请注意,在PHP手册中,这是在“Fileinfo Functions”菜单下=>这意味着它使用了文件读取机制,尽管手动输入并没有明确说明这一点…TL;DR:检查真实文件内容以检测类型
我做了一些测试
spoof.jpg
…时,检测到的mime类型仍然是
text/plain
PHP警告:mime\u内容\u类型(not.exist):
无法打开流:没有此类文件或目录
mime\u content\u type
检查文件内容中的mime类型
它是完全安全的吗?检测真的mime类型是安全的,这是肯定的;)
不过,您还应该检查大小或清理文件名(当重新使用时),有关更多安全性详细信息,安全堆栈上有一个很好的答案:
请注意,在PHP手册中,这是在“Fileinfo Functions”菜单下=>这意味着它使用了文件读取机制,尽管手动输入并没有明确说明这一点…“mime\u content\u type”和“exif\u imagetype”不应用于安全目的,因为它们都允许伪造文件
更多详情请点击以下链接:
“mime\u内容类型”和“exif\u图像类型”不应用于安全目的,因为它们都允许伪造文件
更多详情请点击以下链接:
可能是@mistermartin的复制品我已经看过了。它没有提到我在这里要问什么。他们没有提到imagecreatefromjpg()可能是@mistermartin的复制品,我已经读过了。它没有提到我在这里要问什么。他们没有提到imagecreatefromjpg()