| 网站首页 | 资讯 | 影音 | 图片 | 论坛 | 模拟驾考 | 免费取名算命 | 瓷都工具 | 留言本 | 域名 | 瓷都商城 | 汇款 | 
|
资讯首页
|
瓷都德化
|
站内新闻
|
影视剧情
|
汽车世界
|
网络文摘
|
周易八卦
|
教程技巧
|
房产信息
|
您现在的位置: 瓷都热线|诚信中国:“一就是一”(1941.CN) >> 资讯 >> 教程技巧0 >> 网络编程 >> 正文 登录 注册
专 题 栏 目
  • 四川汶川8.0级强震
  • 机动车驾驶员考试资料
  • 高考试题及答案
  • 最 新 热 门
     德化又添3个地理标志证明
     [组图]期待!德化龙门湖
     [组图]德化:“绿色动脉
     [图文]德化:造莲花美景
     [图文]德化:编织小网格
     [图文]德化龙门滩龙门湖
     [图文]福建德化县美湖镇
     德化白瓷艺术展亮相深圳
     [组图]“世界瓷都·润养
     德化:前妻婚内举债近8万
    最 新 推 荐
     [组图]期待!德化龙门湖
     [组图]德化:“绿色动脉
     [图文]德化龙门滩龙门湖
     [图文]福建德化县美湖镇
     [组图]德化各种花卉相继
     [组图]福建德化九仙山迎
     [图文]德化石牛山惊现双
     [组图]千年古瓷都德化的
     [组图]警方连捣5传销窝点
     [组图]福建民俗博物馆办
    相 关 文 章
    如何制作无状态的ASP组件
    利用OWC服务器端组件动态
    利用MSCHART画图的一段代
    利用OWC画图的例子
    ASP生成Word文档的又一方
    如何准确定时运行ASP文件
    在ASP处理程序时显示进度
    ASP进度条
    将人民币的数字表示转化
    ASP导出Excel数据的四种
    用Asp隐藏文件路径,实现防盗链         ★★★
    用Asp隐藏文件路径,实现防盗链
    作者:未知 文章来源:网络文摘 更新时间:2006-5-6 12:33:19
    【声明:转载此信息在于传递更多信息,其内容表达的观点并不代表本站立场,由这些信息所产生的一切后果本站不负任何责任。如果您对本信息有什么意见,欢迎和本站联系,谢谢!】http://CiDu.Net
    如果我们知道一个静态文件的实际路径如:http://www.xx.com/download/51windows.pdf,如果服务器没有作特别的限制设置,我们就可以毫不费力的把它下载下来!当网站提供51windows.pdf下载时,怎么样才能让下载者无法得到他的实际路径呢!本文就来介绍如何使用Asp来隐藏文件的实际下载路径。

    我们在管理网站文件时,可以把扩展名一样的文件放在同一个目录下,起一个比较特别名字,例如放pdf文件目录为the_pdf_file_s,把下面代码另存为down.asp,他的网上路径为http://www.xx.com/down.asp,我们就可以用http://www.xx.com/down.asp?FileName=51windows.pdf来下载这个文件了,而且下载者无法看到这个文件实际下载路径的!在down.asp中我们还可以设置下载文件是否需要登陆,判断下载的来源页是否为外部网站,从而可以做到防止文件被盗链。

    示例代码:
    <%
    From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
    Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
    if mid(From_url,8,len(Serv_url)) <> Serv_url then
    response.write "非法链接!" '防止盗链
    response.end
    end if
    if Request.Cookies("Logined")="" then
    response.redirect "/login.asp" '需要登陆!
    end if
    Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
    while instr(longname,"/")
    longname = right(longname,len(longname)-1)
    wend
    GetFileName = longname
    End Function

    Dim Stream
    Dim Contents
    Dim FileName
    Dim TrueFileName
    Dim FileExt
    Const adTypeBinary = 1
    FileName = Request.QueryString("FileName")
    if FileName = "" Then
    Response.Write "无效/webpage/asp/041101/24.htm!"
    Response.End
    End if

    FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
    Select Case UCase(FileExt)
    Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
    Response.Write "非法操作!"
    Response.End
    End Select

    Response.Clear

    if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
    Response.ContentType = "image/*" '对图像文件不出现下载对话框
    else
    Response.ContentType = "application/ms-download"
    end if

    Response.AddHeader "content-disposition", "attachment; 200497141230.htm=" & GetFileName(Request.QueryString("FileName"))
    Set Stream = server.CreateObject("ADODB.Stream")
    Stream.Type = adTypeBinary
    Stream.Open
    if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
    TrueFileName = "/the_pdf_file_s/"&FileName
    end if
    if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
    TrueFileName = "/my_D_O_C_file/"&FileName
    end if
    if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
    TrueFileName = "/all_images_/"&FileName '设置图像文件目录
    end if
    Stream.LoadFromFile Server.MapPath(TrueFileName)
    While Not Stream.EOS
    Response.BinaryWrite Stream.Read(1024 * 64)
    Wend
    Stream.Close
    Set Stream = Nothing
    Response.Flush
    Response.End
    %>

    声明:以上信息资料大都是网上搜集而来,版权归作者,如有版权问题请留言告知我将马上改正。
    文中所提到的各种观点只是原文观点,各种说法未经一一确认。并不代表本站认可此观点!!
    资讯录入:admin    责任编辑:admin 
  • 上一篇资讯:

  • 下一篇资讯:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    点击数:403
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论