查看: 2191|回复: 2

看此源码,可否突破上传

[复制链接]
  • TA的每日心情
    擦汗
    2015-5-27 23:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 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,返回不允许该文件扩展名。求讨论啊。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-10-21 09:51
  • 签到天数: 6 天

    [LV.2]偶尔看看I

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

    点评

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

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-5-27 23:43
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    可以。。。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

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

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-24 20:28 , Processed in 0.018146 second(s), 11 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部