我希望允许我的用户使用简单的方法上传jpg / png类型照片..这对网站来说是危险的..有人可能会破解或损坏我的网站。我在服务器端使用PHP。
答案 0 :(得分:5)
如果你不知道自己在做什么,这很危险。
如果你没有检查它是否真的是一张图片,潜在的黑客就可以上传一个完全正常的C99脚本,并完全破坏你的网站,甚至你的服务器。
基本上,(至少)所需要的是使用getimagesize检查上传的文件是否真的是图像。
在stackoverflow上有很多关于这个的问题,这里很快和很脏:
if (!getimagesize($_FILES['your_image']['tmp_name'])){
die('Not an image');
}
来自@deceze here的一些优秀建议。
如果您信任用户输入,那么您最终会后悔。 Mime类型很容易伪造,我甚至懒得说文件扩展名。
一些基本规则:
如果你真的想试试运气,为了上帝的缘故,至少在您的上传目录中禁用php 以及其中的所有子目录。
您可以在上传目录中添加包含此文件的.htaccess
文件。
php_flag engine off