当前位置:  开发笔记 > 编程语言 > 正文

阻止人们通过表单上传恶意PHP文件

如何解决《阻止人们通过表单上传恶意PHP文件》经验,为你挑选了3个好方法。

我有一个在我的网站上用PHP创建的上传表单,人们可以上传一个zip文件.然后提取zip文件,并将所有文件位置添加到数据库中.上传表单仅供人们上传图片,显然,文件在zip文件夹中我无法检查文件被提取之前要上传的文件.我需要一段代码来删除所有非图像格式的文件(.png,.jpeg等).我真的很担心人们能够上传恶意的php文件,存在很大的安全风险!我还需要注意人们改变php文件的扩展,试图绕过这个安全功能.

这是我使用的原始脚本http://net.tutsplus.com/videos/screencasts/how-to-open-zip-files-with-php/

这是实际提取.zip文件的代码:

function openZip($file_to_open) {
    global $target;

    $zip = new ZipArchive();
    $x = $zip->open($file_to_open);
    if($x === true) {
        $zip->extractTo($target);
        $zip->close();

        unlink($file_to_open);
    } else {
        die("There was a problem. Please try again!");
    }
}

谢谢,本.



1> bobince..:

我真的很担心人们能够上传恶意的php文件,安全隐患很大!

冰山一角!

我还需要注意人们改变php文件的扩展,试图绕过这个安全功能.

通常,更改扩展名将阻止PHP将这些文件解释为脚本.但这不是唯一的问题.除了'...... php'之外还有更多可能会损害服务器端的东西; '.htaccess'和设置了X位的文件是显而易见的,但绝不是你要担心的.即使忽略服务器端的东西,也存在巨大的客户端问题.

例如,如果某人可以上传".html"文件,他们可以在其中包含一个

夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有