`
ihuashao
  • 浏览: 4723162 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

用Asp隐藏文件路径实现防盗链

ASP 
阅读更多
如果我们知道一个静态文件的实际路径如: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 "无效文件名!"
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; filename=" & 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
%>
分享到:
评论

相关推荐

    用Asp隐藏文件路径,实现防盗链 的代码

    通过Asp实现隐藏文件路径和防盗链是一种常见的网站安全措施,主要是为了保护网站资源不被未经授权的用户非法访问或盗用。以下是如何使用Asp来实现这一目标的详细步骤和原理: 1. **隐藏文件路径**: 当用户请求一...

    ASP隐藏下载地址及防盗代码

    #### 二、ASP隐藏下载地址及防盗链功能实现 ##### 2.1 功能概述 这段ASP脚本主要实现了两个核心功能:隐藏实际的文件下载地址和防盗链机制。 1. **隐藏下载地址**:通过服务器端处理,用户请求时返回的不是直接的...

    ASP.NET源码——Asp.net防盗链实例源码.zip

    3. **URL重写**:可以使用ASP.NET的URL重写模块(如UrlRewrite或IIS的URL重写模块)来隐藏实际资源路径,增加破解的难度。当请求到达时,重写规则会将请求转发到自定义的HttpHandler。 4. **验证令牌**:在请求静态...

    ASP实现隐藏下载地址和防盗

    在描述中提到的“ASP实现隐藏下载地址和防盗”是指通过ASP技术来保护网站上的资源,尤其是可下载文件,防止用户直接获取并滥用下载链接。这种策略有助于保护版权内容、限制非法下载或减轻服务器负担。 隐藏下载地址...

    ASP 隐藏下载地址及防盗链代码

    最后,通过调用DownloadFile函数并传入实际的文件路径,即可实现隐藏下载地址及防盗链的功能。 通过上述知识点的介绍,我们理解了如何在ASP环境下实现文件下载的隐藏地址和防盗链的处理。这一方法通过服务器端验证...

    asp.net文件上传下载系统

    2. **防盗链**:防止其他网站直接链接下载,可以设置HTTP头部的`Referrer`检查或者使用token验证下载请求。 3. **缓存策略**:对于经常被下载的文件,可以利用HTTP缓存机制提高下载速度,减轻服务器压力。 4. **...

    防止ASP下载的终极方法.rar

    2. **URL隐藏**:不要直接将文件路径或URL暴露给用户。可以使用ASP脚本来处理文件请求,而不是直接链接到文件。这样可以防止用户通过猜测或爬虫程序获取文件。 3. **文件流技术**:使用ASP内置的对象如Response和...

    (自适应手机版)响应式集团企业pbootcms网站模板 集团公司通用网站源码下载

    9. **rewrite**:可能包含URL重写规则,用于隐藏实际的PHP文件路径,使网址更美观。 10. **data**:数据文件夹,可能存储网站的一些静态资源、备份文件或者用户上传的文件。 通过这个模板,集团企业可以快速搭建起...

    漂亮清新的绿色企业网站源码

    基本功能特色 1.全站采用DIV+CSS布局,符合WEB2.0标准,您自己设计独特风格非常方便。 2.兼容IE、火狐各大常用浏览器,打开网页不变形。 3.采用UTF-8编码,全球打开网站不乱码。...23.下载防盗链功能。

    响应式黄色大气个人网站作品模板源码

    `.htaccess`文件是Apache服务器配置的一部分,常用来实现URL重写、设置访问权限、防盗链等功能。在这个模板中,可能用于优化URL结构,使其更加友好和SEO友好,或者限制对某些目录的直接访问。 `web.config`文件则是...

    .net旅游网站模板

    ... 基本功能特色 1.全站采用DIV+CSS布局,符合WEB2.0标准,您自己设计独特风格非常方便。 2.兼容IE、火狐各大常用浏览器,打开网页不变形。 3.采用UTF-8编码,全球打开网站不乱码。...23.下载防盗链功能。

    张宴版Nginx学习 以及配置

    - **第7章**深入解析了Nginx的URL重写规则,使用`rewrite`指令实现URL美化,提高SEO效果,同时可以实现路径定向等复杂操作。 6. **Nginx的非典型应用** - **第11章**介绍了Nginx的非典型应用,如作为静态文件...

    iis.rar_44b0 iis_iis_iis 44b0

    8. **扩展性**:IIS支持ISAPI(Internet Server Application Programming Interface)插件和模块,允许开发者创建自定义功能,如URL重写模块、防盗链模块等。 9. **最新版本IIS 10.0**:在Windows Server 2016及更...

    亮剑.NET深入体验与实战精要2

    9.2.1 StreamWriter类实现写文件 368 9.2.2 通过File类创建文件 369 9.2.3 通过FileStream类创建文件 370 9.2.4 通过FileInfo类创建文件 370 9.2.5 追加文本 370 9.2.6 读取文本文件 371 9.2.7 读写二进制文件 372 ...

    亮剑.NET深入体验与实战精要3

    9.2.1 StreamWriter类实现写文件 368 9.2.2 通过File类创建文件 369 9.2.3 通过FileStream类创建文件 370 9.2.4 通过FileInfo类创建文件 370 9.2.5 追加文本 370 9.2.6 读取文本文件 371 9.2.7 读写二进制文件 372 ...

    LED装饰公司网站 v1.0.zip

    下载防盗链功能。 可以上传2G以内容的单个超大文件。再也不用为上传视频烦恼了。 即时信息编辑功能,登陆后台后访问网站时,可以直接编辑当前内容。 内容复制功能,可在列表中复制一条内容,添加类似内容时更...

    工商注册代理公司网站 v1.0.zip

    下载防盗链功能。 可以上传2G以内容的单个超大文件。再也不用为上传视频烦恼了。 即时信息编辑功能,登陆后台后访问网站时,可以直接编辑当前内容。 内容复制功能,可在列表中复制一条内容,添加类似内容时更...

    通用网站模板 v1.0.zip

    下载防盗链功能。 可以上传2G以内容的单个超大文件。再也不用为上传视频烦恼了。 即时信息编辑功能,登陆后台后访问网站时,可以直接编辑当前内容。 内容复制功能,可在列表中复制一条内容,添加类似内容时更...

Global site tag (gtag.js) - Google Analytics