JAVA对文件类型的校验 .
来源:互联网 发布:淘宝二手相机靠谱吗 编辑:程序博客网 时间:2024/06/05 21:10
通常,在WEB系统中,上传文件时都需要做文件的类型校验,大致有如下几种方法:
1. 通过后缀名,如exe,jpg,bmp,rar,zip等等。
2. 通过读取文件,获取文件的Content-type来判断。
3. 通过读取文件流,根据文件流中特定的一些字节标识来区分不同类型的文件。
4. 若是图片,则通过缩放来判断,可以缩放的为图片,不可以的则不是。
然而,在安全性较高的业务场景中,1,2两种方法的校验会被轻易绕过。
1. 伪造后缀名,如图片的,非常容易修改。
2. 伪造文件的Content-type,这个稍微复杂点,
3.较安全,但是要读取文件,并有16进制转换等操作,性能稍差,但能满足一定条件下对安全的要求,所以建议使用。
但是文件头的信息也可以伪造,截图如下,对于图片可以采用图片缩放或者获取图片宽高的方法避免伪造头信息漏洞。
- JAVA对文件类型的校验
- JAVA对文件类型的校验 .
- java对word各种文件类型的转换
- JAVA获取真实的文件类型
- Java图标对应的文件类型
- java-文件类型-文件类型判断
- Binding对数据的校验
- 对权限对象的校验
- 对权限对象的校验
- ITMP 对null的校验
- Java获取URL链接的文件类型
- Java获取URL链接的文件类型
- 关闭myeclipse自动校验特别是对js文件的校验
- 【DOS】对指定目录下的指定文件类型进行打包
- Java开发实现对身份证有效性校验及获得户籍、性别的工具类
- struts中对date的校验
- 对IP首部校验和的理解
- WPF使用Binding对数据的校验
- wait、sleep、notify、notifyAll的区别
- 获得地址栏URL
- 关于SAD,SAE,SATD,SSD,SSE,MAD,MAE,MSD,MSE
- 转载加自己的见解 之从编译器角度分析C语言中数组名和指针的区别
- 【spring】spring MVC入门
- JAVA对文件类型的校验 .
- CMS之图片管理(1)
- 获得当前网卡MAC
- 网易笔试题(java 、 c++ 、软件测试等)
- Ubuntu使用FAQ
- Matlab 基本命令、快捷键及常用操作
- STM32F0之SPI(使用固件库)
- asp.net中使用Dataset导出数据到xml或者xls
- Android之BaseExpandableListAdapter使用心得(QQ续一)