首页 / PHP / php – 此代码方法中的安全漏洞
php – 此代码方法中的安全漏洞
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 此代码方法中的安全漏洞,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1226字,纯文字阅读大概需要2分钟。
内容图文
![php – 此代码方法中的安全漏洞](/upload/InfoBanner/zyjiaocheng/825/53e0f10660514a6786a0ae049234c17c.jpg)
我想知道这种方法是否存在任何安全漏洞.我正在编写一段代码,允许用户上传文件,另一组代码下载这些文件.这些文件可以是任何东西.
>用户上传文件(包括.php文件在内的任何文件),将其重命名为md5哈希(删除扩展名)并存储在服务器上.创建了相应的mySQL条目.
>用户尝试下载文件,使用say download.php下载发送md5文件的文件(使用原始名称).
在某种程度上,任何人都可以利用上述场景吗?
解决方法:
好吧,理论上没有.应该没有办法利用该系统.但是,有几件事我想告诉你,你可能没有想过.
首先,由于文件是通过PHP文件下载的(假设带有适当标头的readfile()),您应该将文件放在用户无法访问的位置.在apache服务器上,通常最简单的方法就是将.htaccess文件放入上传目录,并在其中“拒绝所有”,以防止外部访问.如果用户首先无法访问外部文件,那么实际上并没有担心文件扩展会造成麻烦(但是,为了存储目的而重命名仍然是一个好主意)
其次,通过哈希命名文件可能不是一个好主意,因为最终可能会发生冲突.如果两个文件碰巧有相同的哈希怎么办?更不用说,计算哈希有??点慢,特别是对于较大的文件(如果从文件内容计算,而不是名称).由于您将条目存储到数据库,我假设您在那里有某种主键(如auto_increment字段).我建议只使用该ID号作为存储文件名以避免冲突(如果您不知道,可以通过mysql_last_insert_id()获取上次插入生成的ID)
当然,包含病毒的文件可能总是存在问题,这可能会感染机器下载文件,但这确实超出了这个问题的范围,并且不会以任何方式影响服务器本身.
内容总结
以上是互联网集市为您收集整理的php – 此代码方法中的安全漏洞全部内容,希望文章能够帮你解决php – 此代码方法中的安全漏洞所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。