• 对于制作下载页面的体会


    一、相关的两个页面downlink.aspx、down.aspx
    1、downlink.aspx
    在downlink.aspx中放置一个下载链接如 down.aspx?id=值 ,并在前台代码的<head>节中加入以下代码:
    <script language="javascript">
        function DownDvasp(htmlurl)
        {var newwin=window.open(htmlurl,'','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,alwaysLowered=no,z-look=no ');return false;}
        </script>
    在下载链接中加入以下代码:
    <asp:HyperLink ID="HyperLinkdown" runat="server">点击下载</asp:HyperLink>

    在后台代码中加入以下代码:
    if(下载条件)
    {
          this.HyperLinkdown.NavigateUrl = "down.aspx?id=" + id;
          this.HyperLinkdown.Attributes.Add("onclick", "return DownDvasp(this.href);");       //此语句的作用是只要点击了此链接就会弹出一个无工具栏、地址栏、状态栏的新窗口,以便用此窗口盛载down.aspx的内容。这样起到隐藏下载文件的真实地址的作用。
    }
    else
    {
           this.HyperLinkdown.Text = "此课件为会员课件,您未登陆或剩余点数不足!";
    }
    2、down.aspx
    在down.aspx中在Page_Load中使用response.redirect("需下载的文件的真实地址")
    如:
     protected void Page_Load(object sender, EventArgs e)
        {
                //进行一些业务处理如:下载数增1 ……
                 Response.Redirect("需下载文件的真实地址“);
        }
    二、这样做的功能:
    1、可简单地隐藏下载文件的物理地址。
    2、可实现有条件下载。
    3、使用response.redirect()语句可使用一些下载工具进行下载。如果使用文件流的方式它能很好的隐藏下载文件的真实地址,但在下载时却不能使用下载工具下载。
    三、应注意的问题:
    1、down.aspx页面不能放在有管理规则的文件夹中,down.aspx页面的代码内也不能涉及到用户身份认证之类的代码。一旦涉及到管理规则及认证时,会出现使用下载工具下载时下载的内容是down.aspx而不是需下载的文件的情况,可能是在做重定向时下载工具不能提供身份验证的原因。
    2、并不是所有的文件类型都能下载
    如有这样一个文件aa.gsp需要下载,结果下载时出现HTTP400文件找不到的错误。
    出现这个现象是由于windows2003内的IIS6.0取消了对某些MIME类型的支持。解决方法如下:IIS管理器/网站属性/HTTP头/MIME类型/新建/   扩展名框中输入不能下载的文件的扩展名,如.gsp MIME类型框中输入application
    四、需要探讨的问题:
    如果不符合下载条件的用户知道了真实的文件的地址,他就能避开下载条件而在浏览器地址栏中输入地址就能直接下载了。有没有比较好的方法让不符合下载条件的用户真正地无法下载?你可能说在IIS内使用应用程序扩展将下载文件的类型进行映射,一旦进行了映射,就只能使用文件流方式进行下载,使用response.redirect()就会出错,也就不能使用下载工具来进行下载了。
    如何真正做到非法用户不能下载而合法用户能使用下载工具下载,并且在下载时能做一些身份验证之类的逻辑?希望大家对此进行讨论。

  • 相关阅读:
    Root Android and Install Recovery linux shell script & Android root原理
    MPEG4 144962和H.264什么区别?
    Android root的两种方法 udev漏洞和setuid漏洞
    [转载]android三个特殊的资源目录 /res/xml /res/raw 和 /assets
    avast注册号|好用的avast注册号|没过期avast注册号
    忘记烦恼|如何忘记烦恼|忘记烦恼的方法
    第六感|最近又出现第六感了这个是什么问题呢
    移动手机为什么还有话费,就停机了,和客服的谈话
    .net保存中文到cookie时是乱码取出来的时候
    skype账号|超值skype账号|14分钟skype账号|1元40个|15天有效期
  • 原文地址:https://www.cnblogs.com/ahuang1118/p/428485.html
Copyright © 2020-2023  润新知