是否允许网站上的照片上传危险?

时间:2013-10-23 16:11:01

标签: php html security

我希望允许我的用户使用简单的方法上传jpg / png类型照片..这对网站来说是危险的..有人可能会破解或损坏我的网站。我在服务器端使用PHP。

1 个答案:

答案 0 :(得分:5)

如果你不知道自己在做什么,这很危险。

如果你没有检查它是否真的是一张图片,潜在的黑客就可以上传一个完全正常的C99脚本,并完全破坏你的网站,甚至你的服务器。

基本上,(至少)所需要的是使用getimagesize检查上传的文件是否真的是图像。

在stackoverflow上有很多关于这个的问题,这里很快和很脏:

if (!getimagesize($_FILES['your_image']['tmp_name'])){
    die('Not an image');
}

来自@deceze here的一些优秀建议。

如果您信任用户输入,那么您最终会后悔。 Mime类型很容易伪造,我甚至懒得说文件扩展名。

一些基本规则:

  • 从不,永远信任用户输入
  • 始终清理您的输入
  • 如果您确实需要允许用户上传图片,那么scripts就已经为此了,这比每次完成都要安全得多。

如果你真的想试试运气,为了上帝的缘故,至少在您的上传目录中禁用php 以及其中的所有子目录。

您可以在上传目录中添加包含此文件的.htaccess文件。

php_flag engine off