如何防止我的网站被外壳或恶意软件上传?

时间:2018-11-06 03:13:08

标签: php shell web-services malware-detection

我有一个图像和视频共享网站,我认为这是不安全的。因为任何人都可以上传外壳或恶意软件,而不是图像和视频。因此,我想知道YouTube或Facebook如何防止他们受到此漏洞的影响。请告诉我任何人。

1 个答案:

答案 0 :(得分:1)

您不能阻止上载它们。

您必须处理上传的内容,并根据所获得的内容以及从何处保存内容来决定。

一种快速执行此操作的方法可能是重写或重新复用上载的照片和视频。因此,如果您(例如)调整图像的大小(可能制作缩略图),而调整大小失败,则可能不是图像。分析上传内容-如果它是图片,它甚至可以解码吗?视频也一样-如果无法转换(或至少不能读取),则不允许。

我喜欢在白名单系统上工作。确认您接受的内容符合某些条件。假设您只想接受JPEG图像。打开上传的文件,然后检查JPEG JFIF标准标题。如果不存在-不是JPEG,则将其垃圾。然后检查图像大小字段,如果不存在,则将其丢弃。下一步检查...等。只有在可以确定它是什么的情况下,才接受它。

还有其他考虑因素-如果图像是一只可爱小猫的完全有效照片-但分辨率为千兆像素怎么办?您的验证软件必须足够聪明,不能尝试对其进行解压缩。

一旦您确认上传的文件是真实的图像(或视频),则可能需要调整图像/视频的内容。这要困难得多。有些图片在某些司法管辖区是非法的,而在其他司法管辖区则是完全合法的。您不想共享非法图像。

如果您说连续3次上传失败,则您可以将该IP地址屏蔽几个小时。