我創建了一個網頁,我想用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