我有一个php图片上传脚本,允许jpg,jpeg,png和gif文件上传到另一个目录。当然,我在上传脚本中检查了mime / type和文件扩展名,但是聪明的黑客可以很容易地解决这些问题。
我有一种模糊的理解,不知何故,你可以将可执行代码嵌入到这些图像文件中。谷歌搜索超过一个小时,我还没有找到一种方法来在标准Godaddy apache配置的图像内执行代码。我发现,如果文件类型类似于test.php.jpg,那么代码可能会执行。所以,我将该特定上传文件夹的htaccess文件更改为
RewriteEngine on
RewriteRule !^([0-9]*)[.](jpg|jpeg|gif|png)$ /error.php?
我的问题是,这是否足够或是否仍然容易受到攻击?如果是这样,你对如何保护文件只是一个没有可执行代码的纯图像有任何想法。