查看: 2283|回复: 2

看此源码,可否突破上传

[复制链接]
发表于 2015-4-6 03:46:01 | 显示全部楼层 |阅读模式
public ErrorList Upload(FileUpload fu, string newFilename = "")
{
        ErrorList errorList = new ErrorList();
        ErrorList result;
        if (fu == null)
        {
                errorList.AddError("", "请选择上传的文件!");
                result = errorList;
        }
        else
        {
                this.FileSize = fu.PostedFile.ContentLength;
                this.FileType = fu.PostedFile.ContentType;
                this.FileOldName = fu.PostedFile.FileName;
                this.FileExtName = this.GetFileExtName(this.FileOldName); //获取 .jpg
                this.Filename = newFilename + this.FileExtName;
                if (string.IsNullOrEmpty(newFilename))
                {
                        this.Filename = this.CreateNewFilename(this.FileExtName);
                }
                if (this.FileSize == 0)
                {
                        errorList.AddError("", "请选择上传的文件!");
                }
                else
                {
                        if (this.FileSize > this.SetAllowMaxFileSize)
                        {
                                errorList.AddError("", "选择的文件太大!");
                        }
                }
                if (errorList.HasError())
                {
                        result = errorList;
                }
                else
                {
                        this.IsImage = this.CheckIsImage(fu.PostedFile.InputStream);
                        if (this.IsImage)
                        {
                                if (!string.IsNullOrEmpty(this.SetAllowFileType))
                                {
                                        if (!Text.CheckInChar(this.SetAllowFileType, this.FileExtName))
                                        {
                                                errorList.AddError("", "上传的文件扩展名不被允许!");
                                        }
                                }
                        }
                        else
                        {
                                if (!Text.CheckInChar(this.SetAllowFileType, this.FileExtName))
                                {
                                        errorList.AddError("", "上传的文件扩展名不被允许!!");
                                }
                                string typeNumber = this.GetTypeNumber(fu);
                                if (!Text.CheckInChar(this.SetAllowFileType, typeNumber))
                                {
                                        errorList.AddError("", "上传的文件类型不被允许!!!" + typeNumber);
                                }
                        }
                        if (errorList.HasError())
                        {
                                result = errorList;
                        }
                        else
                        {
                                try
                                {
                                        if (!Directory.Exists(this.SetSavePath))
                                        {
                                                Directory.CreateDirectory(this.SetSavePath);
                                        }
                                        if (this.IsImage && (this.SetWidth > 0 || this.SetHeight > 0))
                                        {
                                                string text = this.SetSavePath + "/temp" + this.Filename;
                                                fu.PostedFile.SaveAs(text);
                                                errorList.AddErrors(this.MakeThumbnail(text, this.SetSavePath + "/" + this.Filename, this.SetWidth, this.SetHeight, this.SetZoomMode));
                                                this.FileSize = this.GetFileSize(this.SetSavePath + "/" + this.Filename);
                                                File.Delete(text);
                                        }
                                        else
                                        {
                                                fu.PostedFile.SaveAs(this.SetSavePath + "/" + this.Filename);
                                        }
                                }
                                catch
                                {
                                        errorList.AddError("", "发生错误!");
                                }
                                result = errorList;
                        }
                }
        }
        return result;
}

上传1. 重命名为XXXXXXXXXXXXXX.   无后缀,相反,上传asp,cer,aspx,返回不允许该文件扩展名。求讨论啊。
回复

使用道具 举报

发表于 2015-4-9 11:59:06 | 显示全部楼层
上传图片格式也不行吗?

点评

可以。。。  详情 回复 发表于 2015-4-9 23:16
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-9 23:16:35 | 显示全部楼层
小安 发表于 2015-4-9 11:59
上传图片格式也不行吗?

可以。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-6-17 12:37 , Processed in 0.068076 second(s), 27 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部