首页 文章

防止将.sh文件上传到服务器uisng php

提问于
浏览
1

目前在我的代码中,在将文件上传到服务器之前检查文件的扩展名 . 在将文件上传到服务器之前,我还需要检查文件的内容 . 我使用了以下代码

$FileName = $_FILES[$imageInput]['name'];
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mtype = finfo_file($finfo, $FileName);

为所有图像类型(如.png,.jpg)正确识别$ mtype,但它无法识别.sh文件 . 我该如何使用php检查?有人请帮忙 .

1 回答

  • 0

    您可以通过 .htaccess 阻止要执行的各种文件 . 例如,您可以放置它

    <FilesMatch "\.(sh|cgi.+)$">
        ForceType text/plain
    </FilesMatch>
    

    这将确保文件夹中的文件将返回 text/plain

    如果需要,可以在检测到图像时检测mime类型 . .sh 的Mime类型是

    application/x-sh
    application/x-csh
    text/x-shellscript
    

相关问题