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

Ris*_*shi -2 html php security

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

小智 5

如果你不知道你在做什么,这很危险.

如果你没有检查它确实是一个图像,潜在的黑客可以上传一个完全工作的C99脚本,并完全破坏你的网站,甚至你的服务器.

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

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

if (!getimagesize($_FILES['your_image']['tmp_name'])){
    die('Not an image');
}
Run Code Online (Sandbox Code Playgroud)

从@deceze一些优秀的建议在这里.

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

一些基本规则:

  • 永远,永远信任用户输入
  • 始终消毒您的输入
  • 如果你真的需要允许用户上传图片,那么已经有了这样的脚本,这比你们每次完成都要安全得多.

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

您可以通过.htaccess在上载目录中添加包含此文件的文件来实现.

php_flag engine off
Run Code Online (Sandbox Code Playgroud)