首页 新闻 赞助 找找看

求.net上传图片类型的限制方法

1
悬赏园豆:100 [已解决问题] 解决于 2015-12-17 15:20

页面上传图片的时候判断当前是否为图片,除了用后缀名(扩展名)判断的方法外。防止用户恶意修改文件后缀进行上传脚本文件。

Mr.Gethin的主页 Mr.Gethin | 菜鸟二级 | 园豆:218
提问于:2015-12-07 15:34
< >
分享
最佳答案
0

使用XMLHttpRequest跨域上传到服务器,然后在后台进行图片的判断处理(后缀+文件头+System.Drawing.Imaging尝试能否打开图片)

收获园豆:100
HandsCool | 初学一级 |园豆:4 | 2015-12-17 15:19
其他回答(2)
0

1、如果要防止修改后缀,只能先上传到服务器。

2、在服务器代码中,可以针对常见的图片格式,进行图片有效性检查,无效文件直接删除报错。

3、上传相应的文件夹可以设置为不可执行(这样可以某种程度上防脚本注入)

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-12-07 15:47

服务器代码判断图片有效性是怎么实现的。不用图片的后缀名要如何实现呢?求具体实现方法!3Q

支持(0) 反对(0) Mr.Gethin | 园豆:218 (菜鸟二级) | 2015-12-07 15:55

@Mr.Gethin: 

c#判断一个文件是否是图片文件

类似,具体到这一步,NET内部的图片类库已经有比较多的方法了,

如果还不够,你可以搜索一下开源图像处理类库。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-12-07 16:04
0

还有一个思路是获取文件的属性,如果是图片的话你就能获取到它的分辨率,宽度,高度等信息来判断

澈澈 | 园豆:440 (菜鸟二级) | 2015-12-07 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册