我在java脚本中遇到文件上传问题。例如,如果你有客户端验证来检查文件upload的MIME类型。任何人都可以将文件重命名为正确的类型并更改MIME类型并上传。验证不起作用? 例如:在客户端,我检查文件是pdf类型。所以任何人都可以将exe文件重命名为pdf并上传到服务器。有没有办法在客户端验证这种情况?
由于
答案 0 :(得分:2)
不,客户端验证无法做到这一点,因为您无法确定客户端代码是否已运行。
每个现代浏览器都可以禁用JavaScript或修改它。依靠客户端的安全验证是非常糟糕的做法,并且应该只用于改善用户体验,例如告诉用户他们选择的用户名已经被采用等等。
您需要做的是验证服务器上的文件。鉴于您提到了PDF文件,我建议您使用库来解析它们并验证用户确实正在上传有效的PDF文件。