仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 496|回复: 9
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP怎样避免盗链或避免下载

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:08:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺乏可以共同遵循的行业标准,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"))
ifmid(From_url,8,len(Serv_url))Serv_urlthen
response.write"不法链接!"避免盗链
response.end
endif

ifRequest.Cookies("Logined")=""then
response.redirect"/login.asp"必要上岸!
endif
FunctionGetFileName(longname)/folder1/folder2/file.asp=>file.asp
whileinstr(longname,"/")
longname=right(longname,len(longname)-1)
wend
GetFileName=longname
EndFunction
DimStream
DimContents
DimFileName
DimTrueFileName
DimFileExt
ConstadTypeBinary=1
FileName=Request.QueryString("FileName")
ifFileName=""Then
Response.Write"有效文件名!"
Response.End
Endif
FileExt=Mid(FileName,InStrRev(FileName,".")+1)
SelectCaseUCase(FileExt)
Case"ASP","ASA","ASPX","ASAX","MDB"
Response.Write"不法操纵!"
Response.End
EndSelect
Response.Clear
iflcase(right(FileName,3))="gif"orlcase(right(FileName,3))="jpg"orlcase(right(FileName,3))="png"then
Response.ContentType="image/*"对图象文件不呈现下载对话框
else
Response.ContentType="application/ms-download"
endif
Response.AddHeader"content-disposition","attachment;filename="&GetFileName(Request.QueryString("FileName"))
SetStream=server.CreateObject("ADODB.Stream")
Stream.Type=adTypeBinary
Stream.Open
iflcase(right(FileName,3))="pdf"then设置pdf范例文件目次
TrueFileName="/the_pdf_file_s/"&FileName
endif
iflcase(right(FileName,3))="doc"then设置DOC范例文件目次
TrueFileName="/my_D_O_C_file/"&FileName
endif
iflcase(right(FileName,3))="gif"orlcase(right(FileName,3))="jpg"orlcase(right(FileName,3))="png"then
TrueFileName="/all_images_/"&FileName设置图象文件目次
endif
Stream.LoadFromFileServer.MapPath(TrueFileName)
WhileNotStream.EOS
Response.BinaryWriteStream.Read(1024*64)
Wend
Stream.Close
SetStream=Nothing
Response.Flush
Response.End
%>
当地图片,音乐等ASP防盗链代码(asp)

以下为援用的内容:
<%
界说函数,用ADODB.Stream读取二进制数据
FunctionReadBinaryFile(FileName)
ConstadTypeBinary=1
DimBinaryStream
SetBinaryStream=CreateObject("ADODB.Stream")
BinaryStream.Type=adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFileFileName
ReadBinaryFile=BinaryStream.Read
EndFunction

Response.AddHeader"Content-Disposition","attachment;filename=2.gif"文件名
Response.ContentType="image/GIF"’设置(1)
response.BinarywriteReadBinaryFile(server.mappath("2.gif"))就是你读取存在当地的文件,避免被
他人晓得实在路径盗连的。

%>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件
海妖 该用户已被删除
沙发
发表于 2015-1-17 16:28:44 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
透明 该用户已被删除
板凳
发表于 2015-1-21 05:18:36 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
精灵巫婆 该用户已被删除
地板
发表于 2015-1-30 08:23:05 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
兰色精灵 该用户已被删除
5#
发表于 2015-2-6 09:18:08 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
不帅 该用户已被删除
6#
发表于 2015-2-15 21:43:51 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
乐观 该用户已被删除
7#
发表于 2015-3-4 14:38:33 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
莫相离 该用户已被删除
8#
发表于 2015-3-11 20:07:02 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
小女巫 该用户已被删除
9#
发表于 2015-3-19 11:16:53 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
再现理想 该用户已被删除
10#
发表于 2015-3-27 22:38:50 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 05:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表