为什么要避免在文件上传时候使用 Accept 参数?

2018-07-17 18:51:46 +08:00
 hoythan

w3c school 上看到这么一段话

(提示:请避免使用该属性。应该在服务器端验证文件上传。)

这句话的意思应该是:请避免使用该属性验证文件格式,应该在服务器端验证文件上传。

但是特么的很容易让菜鸡误解啊。为啥要用句号分隔。

而且这个属性也不是用来效验文件的呀,这是用来区分文件的不是吗?

而且 Google 相册,Twitter 等上传图片的地方都加了 Accept,并且没有在 MDN 上找到类似的话。

难道使用 Accept 不是增强用户体验的属性吗?
避免选择到其他文件导致重复选择或批量选择时能够合理跳过非规定格式文件?
2946 次点击
所在节点    JavaScript
8 条回复
leoleoasd
2018-07-17 19:25:25 +08:00
避免仅使用此属性
yimity
2018-07-17 20:04:57 +08:00
他的意思是避免仅在前端使用,需要后端也验证文件类型。因为前端限制不保险。
Fishdrowned
2018-07-17 20:32:22 +08:00
w3school 系列少看为妙,首先这系列网站跟 w3c 没有一毛钱关系,其次内容过时,而且错误百出。

要看就看 Mozilla Developer Network
ryd994
2018-07-18 01:25:20 +08:00
请避免依赖该属性
zlhsvc
2018-07-18 10:07:55 +08:00
这个属性现在常用于用户方便选择,而数据校验后端都要重新校验一次
crawl3r
2018-07-18 10:34:10 +08:00
input 标签的 accept 是你在选择文件时能够选定的文件类型。但上传文件可以通过程序上传任意类型的文件(例如脚本或后门),为了安全所以你还要在服务端再次验证接收到的文件。
reus
2018-07-18 11:53:36 +08:00
w3c school 垃圾
MDN 好
e8c47a0d
2018-07-24 18:37:20 +08:00
w3scholl 很多都过时了,看 MDN 把。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/471731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX