扫码关注官方订阅号
用户上传a.jpg文件,文件内容实际为php代码,会不会有安全问题?如果有,如何防止?
欢迎选择我的课程,让我们一起见证您的进步~~
设置 mimetype
据我所知 原来有个漏洞,如果目录名是 a.php 然后目录里的 a.jpg 会被当作 PHP 执行。
a.php
直接上图片处理,gd或者imagick等,重新存一下
用图形库验证一下。不是图片不让上传。
当 nginx 搭配 php-cgi 时候,在路径解析问题上可能要防下。当年争议比较大的就是 cgi.fix_pathinfo 的问题。另外当nginx 处于反代模式时。mimetype 设置的对,应该没什么问题。
如果是Nginx的话可以考虑区分jpg和php的文件夹,即使上传了jpg但是路径不对也不会被执行0.0
chmod 0444 a.jpg
禁止文件执行
gd库获取一下图片的长宽大小,为0阻止。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
设置 mimetype
据我所知 原来有个漏洞,如果目录名是
a.php然后目录里的 a.jpg 会被当作 PHP 执行。直接上图片处理,gd或者imagick等,重新存一下
用图形库验证一下。不是图片不让上传。
当 nginx 搭配 php-cgi 时候,在路径解析问题上可能要防下。当年争议比较大的就是 cgi.fix_pathinfo 的问题。另外当nginx 处于反代模式时。mimetype 设置的对,应该没什么问题。
如果是Nginx的话可以考虑区分jpg和php的文件夹,即使上传了jpg但是路径不对也不会被执行0.0
禁止文件执行
gd库获取一下图片的长宽大小,为0阻止。