我创建了一个网页,我想用JavaScript来只上传文本文件,它工作正常。如何查看上传文件是否为txt或手动修改扩展名?
使用下面的JavaScript,它正在检查上传文件TXT或不?
<script>
function checkExt() {
if(document.mainForm.myfile.value.lastIndexOf(".txt")==-1) {
alert("Please upload only .txt extention file");
return false;
}
}
</script>
<form name="mainForm">
<input type="file" name="myfile" onchange="checkExt();"/>
</form>
问题:如果我更改文件.exe文件的扩展名为.txt手动那么它也被上传,因为我只检查文件的扩展名。所以我的问题是如何从exe文件(这是手动更改为txt)上传保护。
我想停止上传exe文件,这是改变或强制或手动更名为jar文件。
的JavaScript可以通过客户端进行更改。所以这只会让你从一些脚本小孩中解脱出来。能够真正伤害你的人只会对任何js解决方案嗤之以鼻。你需要一个后端验证。 – Doomenik
@Doomenik,好吧,我会在谷歌上搜索后端验证,或者您可以使用Java引用此场景的任何链接? – RGI
https://stackoverflow.com/questions/4169713/how-to-check-a-uploaded-file-whether-it-is-a-image-or-other-file – Doomenik