> 백엔드 개발 > PHP 튜토리얼 > 关于图片上传安全的问题

关于图片上传安全的问题

WBOY
풀어 주다: 2016-06-23 14:19:28
원래의
1197명이 탐색했습니다.

一般我只检查后缀名,
比如上传abc.jpg,最后放在/xxx/xxx.jpg

但是今天看见一篇文章
原理是一段代码制作成JPG图片,然后上传。
关于图片上传安全的问题这时就执行代码?

我百度了很久找到的都是10年前的资料,而且好像这个东西跟ASP相关的?
我想问这个PHP是否也有这个漏洞?
文件上传时只检查后缀是否安全?


回复讨论(解决方案)

php也一样,上传以后,最好先判断是否是真实的图片文件,然后弄个透明水印上去,相当于“破坏”原图

php也一样,上传以后,最好先判断是否是真实的图片文件,然后弄个透明水印上去,相当于“破坏”原图

如何判断
加水印暂时没有这个考虑

不安全...
一般我只检查后缀名,
比如上传abc.jpg,最后放在/xxx/xxx.jpg

但是今天看见一篇文章
原理是一段代码制作成JPG图片,然后上传。
关于图片上传安全的问题这时就执行代码?

我百度了很久找到的都是10年前的资料,而且好像这个东西跟ASP相关的?
我想问这个PHP是否也有这个漏洞?
文件上传时只检查后缀是否安全?


php也一样,上传以后,最好先判断是否是真实的图片文件,然后弄个透明水印上去,相当于“破坏”原图

如何判断
加水印暂时没有这个考虑

百度就有啊。。。

原来还有这样的问题啊。。长见识了!

不安全...

应该检查哪些项目?

百度就有啊。。。

getimagesize?

if (preg_match('/   die('提示!禁止提交。该图片含有禁止的代码'.str_replace('?', '\?', $m_err[0]).'。');
}

if (preg_match('/   die('提示!禁止提交。该图片含有禁止的代码'.str_replace('?', '\?', $m_err[0]).'。');
}

能不能给个简单的图片试一下,比如执行

1.你把所有存放图片的目录权限都设为“可读可写不可执行”,包括临时存放的目录也是
2.检查是否真实图片,jpg等要切尾,切尾就是了解图片格式,把图片尾段“额外”的字节扔掉,搜索一下能找到相关文章

基本做好这两点就相对安全了,尤其第一点相当重要

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿