【发布时间】:2012-12-11 04:18:47
【问题描述】:
可能重复:
How can the file extension be validated in an input type file using JQuery?
这是我的文件扩展验证码,以防止上传不需要的文件
有没有更简单的编码方法?
有人可以改进吗?
<script>
function onSubmitForm(re) {
var formDOMObj = document.frmSend;
var file1 = formDOMObj.attach1.value;
var pdf=file1.toLowerCase().lastIndexOf(".pdf");
var doc=file1.toLowerCase().lastIndexOf(".doc");
var docx=file1.toLowerCase().lastIndexOf(".docx");
var xls=file1.toLowerCase().lastIndexOf(".xls");
var xlsx=file1.toLowerCase().lastIndexOf(".xlsx");
var wps=file1.toLowerCase().lastIndexOf(".wps");
if (file1 == "" )
{
alert("Please pick a file.")
return false;
}
else
if ( pdf == -1 && doc == -1 && docx == -1 && xls == -1 && xlsx == -1 && wps == -1 )
{
alert("File not acceped. Please upload your RESUME in .pdf, .doc, or docx")
frmSend.reset(re);
return false;
}
else
return true;
}
</script>
【问题讨论】:
-
一定要在服务器上验证;攻击者可能只是禁用您的客户端验证码并上传受限文件。
-
尽管如此,如果您的设置方式使得恶意上传实际上可能会导致问题,那么您就会遇到更大的问题。 (回复:@voithos 的评论)
-
@minitech:
alias attacker='naughty-user'
标签: javascript