用file控件上传文件的安全性讨论,欢迎发表高见

wyfwyf2000 2004-09-27 03:49:21
我要用file控件做上传文件的服务器,但老板说这样不安全,别人可以把一个asp文件的后缀改成gif上传,然后浏览这个文件就会被执行,是这样吗?
如果要用file控件上传文件,有哪些漏洞,可能造成哪些危害,如何避免???
...全文
330 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhmvb 2004-09-28
  • 打赏
  • 举报
回复
不太理解,我下面的代码不知道行不

If Me.File1.PostedFile.ContentLength > 0 And InStr(Me.File1.PostedFile.ContentType, "image") <> 0 Then
Dim FileName, FileExt As String
FileName = Replace(Now(), " ", "-") & Int(1000 * Rnd() + 1)
FileName = Replace(FileName, ":", "-")
FileExt = Trim(Right(Me.File1.PostedFile.FileName, 4))
Me.File1.PostedFile.SaveAs(Server.MapPath("Upfile/") & FileName & FileExt)
Me.Response.Write("上传失败成功!")
Me.Response.Write("<BR> 图片地址:" & FileName & FileExt)
Else
Me.Response.Write("上传失败!格式不正确。")
End If
cngis 2004-09-28
  • 打赏
  • 举报
回复
这个没有怎么注意过
kd_lwch 2004-09-28
  • 打赏
  • 举报
回复
主要是怕有人把恶意代码和图片格式文件合并成一个图片文件.这个的话是不是会有影响.
luckweb 2004-09-28
  • 打赏
  • 举报
回复
你不能修改客户端的设置,所以最好在传到服务器时判断
Yzhua1981 2004-09-28
  • 打赏
  • 举报
回复
我想問一個問題,怎樣初始化protected System.Web.UI.HtmlControls.HtmlInputFile file1;
的選擇類型,比如說,我只顯示jpg格式的圖片
JafyLiu 2004-09-28
  • 打赏
  • 举报
回复
假如sqlserver的系统用户泄漏,用xp_cmdshell执行上传上去的名令行exe或其它可执行程序还是挺危险的。
wmzsl 2004-09-28
  • 打赏
  • 举报
回复
呵呵顶把!不过感觉楼上说的有点问题!
nanhaoff 2004-09-28
  • 打赏
  • 举报
回复
当然,这个要看你如何判断它上传文件的格式,如果是直接判断它后缀的话,当然是不可以避免这样的 情况发生,但是如果在图片的命名空间中来判断的话,是没有问题的
if(File1.PostedFile.ContentType == "image/pjpeg" ||
File1.PostedFile.ContentType == "image/gif" ||
File1.PostedFile.ContentType == "image/bmp"){
//上传文件
}
这样就可以避免问题的出现
leisang 2004-09-28
  • 打赏
  • 举报
回复
filetype=file.PostedFile.ContentType;
if(filetype=="image/pjpeg"||filetype=="image/gif")
{
...
}

改了扩展名是没用的,不信就试一下
aobo33 2004-09-28
  • 打赏
  • 举报
回复
同感
woooooooow 2004-09-28
  • 打赏
  • 举报
回复
怎么可能?那世界还不乱套了。如果那样,不仅是服务器端安全,而是客户端安全问题了。gif或者jpg会是执行程序,哪个还敢上网啊。
happyjun2000 2004-09-28
  • 打赏
  • 举报
回复
应该不会的吧,
来听课了!
tmouse 2004-09-28
  • 打赏
  • 举报
回复
不会执行的。
JafyLiu 2004-09-28
  • 打赏
  • 举报
回复
就是把上传文件的后缀改为exe,也无法从ie运行它呀,只能下载呀。
wyfwyf2000 2004-09-28
  • 打赏
  • 举报
回复
up
wyfwyf2000 2004-09-28
  • 打赏
  • 举报
回复
up
aobo33 2004-09-27
  • 打赏
  • 举报
回复
不是这样说的,只要不能让其运行不就行了吗?
wyfwyf2000 2004-09-27
  • 打赏
  • 举报
回复
我的看法是必须把上传后的文件的后缀改回.asp或.exe可执行文件,才回有危险,是吗?否则上传那些文件是没有意义的???
chnama 2004-09-27
  • 打赏
  • 举报
回复
不会执行的
penning 2004-09-27
  • 打赏
  • 举报
回复
关注,加入收藏夹
加载更多回复(9)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧