检查文件上传扩展名(PHP/Jquery/Javascript)

Eri*_*c T 1 javascript php upload jquery

作为标题哪个更好,为什么?这样做的任何弱点?我听说Jquery/Javascript检查不好并建议使用PHP,但不知何故不知道为什么....

需要一些推荐你们.提前致谢.

任何人都会看到这是好还是坏:

<input type="file" name="task_doc" class="task_doc"  onChange="checkext();"/>

function checkext(){
var permittedFileType = ['pdf', 'doc', 'docx', 'xls', 'xlsx'];
var fext = $(".task_doc").val().split('.').pop().toLowerCase();
var resultFile = validate_filetype(fext, permittedFileType);
    if(resultFile === false){
         $(".task_doc").replaceWith("<input type='file' name='task_doc'    class='task_doc'  onChange='checkext();'>");
        alert("Invalid Extension");

    }
    else{
        alert("Success");
    }
}

function validate_filetype(fext, ftype)
{
    for(var num in ftype)
    {
        if(fext == ftype[num])
            return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

col*_*fix 5

如果您仅使用javascript检查数据有效性,则高级用户可以上传他们想要的任何数据.

另一方面,如果用户输入的数据(在这种情况下是文件)无效,则使用javascript可能是用户获得快速反馈的便捷方式.

所以我建议使用客户端和服务器端脚本.