首页 新闻 搜索 专区 学院

关于asp.net网站中如何判断上传的是图片而不是伪装成图片格式的病毒,以及让文章中出现的代码显示特定格式

0
悬赏园豆:10 [已解决问题] 解决于 2010-08-25 08:24

关于asp.net网站中如何判断上传的是图片而不是伪装成图片格式的病毒,在博客中一般会有发布博文,这里面以前用的是网上流传的组件可是这样导致有些功能无法控制,例如当博文中要插入部分代码的时候我怎么才能让这些插入的代码以一个特定的格式显示,例如显示代码行等........

KevinCC的主页 KevinCC | 初学一级 | 园豆:190
提问于:2010-08-22 22:45
< >
分享
最佳答案
0

1、你可以看下这篇文章,这篇文章中有关于检测文件类型的方法http://www.cnblogs.com/jueban/archive/2009/03/06/933121.html

具体的代码:

 

//真正判断文件类型的关键函数
public static bool IsAllowedExtension(FileUpload hifile)
{
System.IO.FileStream fs
= new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader r
= new System.IO.BinaryReader(fs);
string fileclass = "";
byte buffer;
try
{
buffer
= r.ReadByte();
fileclass
= buffer.ToString();
buffer
= r.ReadByte();
fileclass
+= buffer.ToString();

}
catch
{

}
r.Close();
fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}

}

 2、有关插入代码行数,可以看下这篇文章:http://www.blogjava.net/ycyk168/archive/2009/11/28/304043.html

这些插件不仅支持代码行数,还支持语法高亮。

你可以改造你的编辑器,将这些插件嵌入到你的编辑器中

收获园豆:10
kyo-yo | 大侠五级 |园豆:5587 | 2010-08-23 09:13
其他回答(2)
0

第一个问题:这个问题好像是杀毒软件的事,让杀毒软件开启查杀jpg,gif等格式的文件,另外你可以做些基础的控制,比如上传图片的时候,你可以用代码把扩展名改为asp,aspx等格式,看看里面是否包含有特定语言的代码,不过如果混淆过的就难了。不过一般杀毒软件都有这个分析功能。

第二个问题:给对应的编辑器扩展代码插入组件就行了,现在回答博问就有这个功能,插入代码,显示行号等。

Astar | 园豆:40805 (高人七级) | 2010-08-23 08:27
0

通过读文件头的方式判断文件实际格式就行了。

 

alby | 园豆:323 (菜鸟二级) | 2010-08-23 08:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册