JFinal文件上传安全校验应该怎么做呢?

_Roger_ 发布于 2017/01/03 14:10
阅读 245
收藏 0

@JFinal 你好,想跟你请教个问题:在使用JFinal开发项目时,文件上传功能需要做一些安全检查,不知道这个怎么实现,还麻烦您能帮忙解决一下,谢谢

以下是问题补充:

@_Roger_:我看 private boolean isSafeFile(UploadFile uploadFile)这个方法只是仅仅对"jsp"文件进行简单判断,不知道有没有公开的方法或接口 (2017/01/03 14:13)
加载中
0
JFinal
JFinal

可以先 getFile() 得到 UploadFile 这个对象,然后检查这个对象的扩展名、文件长度、文件内容。

 jfinal 底层的 isSafeFile 仅仅用于防止恶意攻击性检查,楼主的检查更多是偏向于业务型检查,例如文件是否是图片等等,自行对 UploadFile 进行任意的检查即可

JFinal
JFinal
回复 @_Roger_ : 只不过 jfinal 是利用了一个第三方的 cos.jar 来支持,所以无法通过简单方式去干预解析过程,只能是对解析的最终结果进行干预。对于是否多余这个话题,必然不是多余的,例如,上传过来的文件不合法,肯定就该删除
JFinal
JFinal
回复 @_Roger_ : 如果没有得到文件,怎么判断文件内容是有问题的?当然,你也可以通过 getRequest() 得到 HttpServletRequest 对象,手动对该对象进行解析,解析出来 File 文件,边解析边去分析内容是否有害,在中途就进行删除也是可以的。
_
_Roger_
谢谢詹总,使用getFile()默认是已经把文件保存下来了吧,那再做安全检查进行文件删除是否多余呢?
返回顶部
顶部