ASP教程之asp下载防盗链代码
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。防盗链|下载第一种:终究对下载体系做了个防盗链措施,鄙人载的页面头部做了以下代码,相干代码以下:
<%
From_url=Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url=Cstr(Request.ServerVariables("SERVER_NAME"))
ifmid(From_url,8,len(Serv_url))Serv_urlandmid(From_url,8,len(Serv_url))"ITstudy.cn"andmid(From_url,8,len(Serv_url))"www.ITstudy.cn"then
response.write"您下载的软件来自IT进修网,请间接从主页下载,感谢<br>"’避免盗链
response.write"<ahref=http://www.ITstudy.cn>IT进修网http://www.ITstudy.cn</a>"’避免盗链
response.end
endif
%>
第二种:
<%
’界说函数,用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"))’就是你读取存在当地的文件,避免被
他人晓得实在路径盗连的。
%>
(1)上面的示例将ContentType属性设置为其他的罕见值。
text/HTML这个就不说了
image/GIFgif图片
image/JPEGjpg图片
application/x-cdfcdf文档
application/wma就是西瓜哪一个音乐范例了
详细能够参照Web扫瞄器文档或以后的HTTP规格申明
如许再使用asp的贮存session,cookies,和读取HTTP优等特别功效就能够完整真实的完成防盗连,这里
没有设置缓存,假如会见量伟大,我想设置下就会更好吧。
第三种:
最复杂的用ActiveServerPages防站外提交表单、跨站提交表单、防盗链……
办法:Request.SeverVariables("HTTP_REFERER")
注释:当或人经由过程链接抵达以后页,HTTP_REFERER就保留了这个用户的来历(去路)
举个例子,这个例子很复杂,只是举一反三罢了,人人能够增添更多的功效。
以下,只要起首从“http://www.ITstudy.cn”上岸才干看到文件内容。
源码:index.asp
<html>
<head><title>最复杂的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl("http://ITstudy.cn/index.jsp")
%>
<%
FunctionCheckUrl(url)
DimWhere:Where=Request.SeverVariables("HTTP_REFERER")
IfWhere=urlThen
Callmain()
Else
Response.write("很抱愧,您必需从"&url&"会见才干出去!")
Endif
EndFunction
%>
<%
Submain()
Response.write("这儿是你要显现的网页内容")
Endsub
%>
</body>
</html>
该办法对避免盗链文章、站外提交表单、跨站提交表单还对照无效,关于软件盗链好比.rar.zip.exe等倒没甚么感化。
不知列位读者是不是有好的主张,呵呵。
另有一种办法就是用判别服务器及上一页的地点来完成。
<%
dimfrom,local
from=request.ServerVariables("HTTP_REFERER")
local=request.ServerVariables("SERVER_NAME")
Ifmid(from,8,local)Len(local)Then
response.write"不要从内部提交数据"
else
callmain()
endif
submain()
’你的主体内容
endsub
%>ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊! ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 不能只是将它停留在纸上谈兵的程度上。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 不能只是将它停留在纸上谈兵的程度上。
页:
[1]