PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了保护PHP网站中的文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个网站可以接受用户上传文件(图像,pdf,word文档等),然后允许其他用户下载它们.

我意识到这存在安全隐患,因为恶意用户可以上传伪装成有用文件的脚本等.

我的问题是-是否足以检查使用PHP上传文件的mime类型(mime_content_type或finfo)并将文件设置为只读(不可执行),还是我还必须将上传文件存储在目录中在网络根目录之外?我认为这可以消除上传文件中的大部分风险,但是我不确定.在这种情况下,无法对上传文件执行病毒扫描.

感谢您的输入.

解决方法:

通常的做法是将文件上传到文档根目录之外,并且通常使用随机文件名,然后将文件名映射到数据库中正确的项目/对象/帖子.如果需要其他权限才能访问文件,请确保在允许下载之前检查文件,当然,只有经过身份验证的用户才能上传.

Fileinfo finfo_可用于验证大多数模仿类型,至少可以验证名为“ .txt”的东西实际上是文本文件而不是二进制blob,或者基于前几个字母或“ .jpg”的名字看起来真的是jpeg.最后几个字节.可能需要一些额外的工作来整理MS Office模仿类型,好像我没记错的那样,它们都以application-msword的形式出现.但是,您可以使用文件扩展名来确定其实际含义(xls,ppt,doc等).

然后,PHP脚本提供了下载的文件,而不是直接由Web服务器提供服务.因此,您应该将mime类型与它一起存储,以便可以提供适当的标题.

header("Content-type: application-whatever");
header("Content-length: size-of-the-file-in-bytes");

大佬总结

以上是大佬教程为你收集整理的保护PHP网站中的文件全部内容,希望文章能够帮你解决保护PHP网站中的文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: