首页 > 教育学习 > 为什么 > PHP 文件上传安全需要注意哪些方面?

PHP 文件上传安全需要注意哪些方面?
2012-01-19 19:34:17   来源:   点击:

    PHP 文件上传安全需要注意哪些方面?

    5 个答案

    • 答案 1:

      最安全的做法是,强制后缀名,而不要使用用户上传文件的后缀名,比如先判断下是不是jpg后缀,是则强制保存文件名后缀为jpg,不是的话禁止上传。不要使用mime-type进行检查,可以很轻松绕过的。
    • 答案 2:

        禁止上传目录的PHP解析,避免通过成为webshell;

        通过clamav对上传文件进行扫描,避免其它用户下载到病毒,遏制病毒传播;

    • 答案 3:

      对于文件的类型,大小进行限制,前者需要php代码实现, 后者可以通过php.ini控制, 如果对于安全性要求很高, 得做个客户传递的文件名永远都是不可信任的假设, 然后对上传的文件mine-type进行检查, 因为恶意的文件经常会被伪装成无辜的文件.
    • 答案 4:

      强制后缀名,判断后缀名与上传的mine-type是否一致(不一致就可判断是伪装的),如果是图片格式,检测文件头。上传后强制重命名
    • 答案 5:

      1. 文件类型校验,不能只检查文件名(比如对后缀名做一个正则表达式匹配是不够的,不管是黑名单还是白名单,mime-type检查是第二道防线,文件头检查是第三道防线),不安全的文件类型一律禁止上传。防止被上传webshell、恶意代码。2. 文件名清洗(接受数据时的临时文件名随机化、存储在文件系统上的文件名随机化、存储在数据库中的文件名要各种转义)。防止各种注入攻击、XSS。3. 检查文件大小。防止DoS攻击。4. 做好Web服务器安全加固。例如防止基于Web服务器运行环境的DoS攻击(例如Slowris、POST DoS等),上传文件目录的访问控制授权等。

相关热词搜索:

上一篇:iPhone 又找不到了,有什么 App 能让它响么?
下一篇:微软以 80 亿美元收购 Skype 的意图是什么?值吗?