桂林骏程网络有限公司  
桂林网站建设 | 加入收藏 | 设为首页
全国统一服务热线:18077392768  
服务 Q Q:    
 
用户中心登录  
用户名:
密 码:
验证码:
 服务热线:18077392768
 在线QQ:503124658  QQ:422606575
  网站建设  

域名注册 虚拟主机
网站报价 网站推广
优惠套餐 网站改版
  服务中心  
  常见问答
  建站流程
  关于我们
  支付方式
  建站常识  
  通用网址与网络实名的区别
  如何给你的网站起一个好域名
  企业上网用网络实名
  什么是域名?
  百度新的网站排名工具-百度..
  中小企业网络建设原理以及规..
  企业准备网站建设资料如何下..
  桂林中小企业网站建设该注意..
  桂林网站建设--建一个网站..
  为什么要选择骏程网络呢
  自助建站平台建设企业网站的..
  网站改版的理由!
  手工设计建站与模板网站的区..
  网站建设中的“12要”与“..
  提高网站PR值的若干方法
  网站建设流程及域名相关知识
  对网站进行准确定位是网站成..
  建站基础,什麽是静态网页
 
当前位置:首页 > 建站常识
 
     

动态程序防采集的新方法

 来源:网站建设常识   发布时间: 2010/6/7 17:06:16   点击率: 4611 次
通过动态程序和Js访问分别记录访问者的IP,然后进行IP判断,由于采集过程不会访问JS,采集的时候只会查到用动态程序记录的IP,而不会有通过JS记录的IP,从而实现网页程序的防采集。

防采集的原理非常简单,首先放一段动态语句,把访问者的IP加入到数据库的一个表里,然后在页面底部加入一个JS,JS直接访问动态页面,将访问者的IP加入到数据库的另外一个表里。再次访问的时候,从两个表里读IP数据,然后判断时间差,如果只在首先个表里找到,在第二个表里找不到,或者时间差超过10秒,则认为是采集。

优点

1.部署简单,只要是动态语言就能很容易的实现,无需借助服务器端程序

2.杀伤力大,几乎能封杀所有的采集过程

缺点

1.首先个缺点还是杀伤力大,如果需要实际使用需要考虑一些特殊情况,以免误杀已经杀掉搜索爬虫

2.只适用于动态网页,静态页面就没法用了

程序例子(ASP+ACCESS)(测试程序下载):

1.建立数据库

表1:Ip1,字段Ip1_Adderss(文本),Ip1_Time(日期/时间,默认值=Now())

表2:Ip2,字段Ip2_Adderss(文本),Ip2_Time(日期/时间,默认值=Now())

2.Index.asp(仅动态代码,全部代码请见测试程序中)

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Dim Conn,Rs,Sqlstr,Ip,IpTime,IpTime2,NewUser
NewUser=0
Set Conn = Server.CreateObject("Adodb.Connection")
Set Rs=Server.Createobject("Adodb.RecordSet")
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Data.mdb")
Conn.Open ConnStr
Ip=Request.ServerVariables("REMOTE_ADDR")
Sqlstr="Select * From [Ip1] Where Ip1_Address='"&Ip&"' Order By Ip1_Id Desc"
Rs.Open Sqlstr,Conn,1,3
If Rs.Eof Then
NewUser=1
Application.Lock()
Rs.AddNew()
Rs("Ip1_Address")=Ip
Rs.Update()
Application.UnLock()
Else
IpTime=Rs("Ip1_Time")
Application.Lock()
Rs.AddNew()
Rs("Ip1_Address")=Ip
Rs.Update()
Application.UnLock()
End If
Rs.Close
If NewUser=0 Then
Sqlstr="Select * From [Ip2] Where Ip2_Address='"&Ip&"' Order By Ip2_Id Desc"
Rs.Open Sqlstr,Conn,1,3
If Rs.Eof Then
Rs.Close
Response.Write("请勿采集!")
Response.End()
Else
IpTime2=Rs("Ip2_Time")
If DateDiff("s",IpTime2,IpTime)>10 Then
Rs.Close
Response.Write("请勿采集!")
Response.End()
End If
End If
Rs.Close
End If
%>

3.Js.asp

<%
Dim Conn,Rs,Sqlstr,Ip
Set Conn = Server.CreateObject("Adodb.Connection")
Set Rs=Server.Createobject("Adodb.RecordSet")
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Data.mdb")
Conn.Open ConnStr
Ip=Request.ServerVariables("REMOTE_ADDR")
Sqlstr="Select * From [Ip2]"
Rs.Open Sqlstr,Conn,1,3
Application.Lock()
Rs.AddNew()
Rs("Ip2_Address")=Ip
Rs.Update()
Application.UnLock()
Rs.Close
%>

4.Get.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Response.Write(Server.HTMLEncode(GetHttpPage("/Index.asp","GB2312")))
'==============================
'函 数 名:GetHttpPage
'作 用:获取页面源代码函数
'参 数:网址HttpUrl
'==============================
Function GetHttpPage(HttpUrl,Code)
If IsNull(HttpUrl)=True Or HttpUrl="" Then
GetHttpPage="A站点维护中!"
Exit Function
End If
On Error Resume Next
Dim Http
Set Http=server.createobject("MSX"&"ML2.XML"&"HTTP")
Http.open "GET",HttpUrl,False
Http.Send()
If Http.Readystate<>4 then
Set Http=Nothing
GetHttpPage="B站点维护中!"
Exit function
End if
GetHttpPage=BytesToBSTR(Http.responseBody,Code)
Set Http=Nothing
If Err.number<>0 then
Err.Clear
GetHttpPage="C站点维护中!"
Exit function
End If
End Function
'==============================
'函 数 名:BytesToBstr
'作 用:转换编码函数
'参 数:字符串Body,编码Cset
'==============================
Function BytesToBstr(Body,Cset)
Dim Objstream
Set Objstream = Server.CreateObject("ado"&"d"&"b.st"&"re"&"am")
Objstream.Type = 1
Objstream.Mode =3
Objstream.Open
Objstream.Write body
Objstream.Position = 0
Objstream.Type = 2
Objstream.Charset = Cset
BytesToBstr = Objstream.ReadText
Objstream.Close
set Objstream = nothing
End Function
%>




公司简介 | 公司动态 | 常见问答 | 建站流程 | 付款信息 | 联系方式 | 在线留言 | 主机域名管理 | 桂林域名注册 | 加入收藏 | 设为首页 |
 
Copyright © 2006-2019 Web0773 All Rights Reserved.桂林骏程网络有限公司 版权所有
公司地址:桂林市叠彩区中山北路406号中北花园1-2栋6层   邮编:541004   电话:18077392768
电子邮件:kefu0773@163.com   服务 Q Q:503124658  QQ:422606575 中国信息产业部备案号:桂ICP备07006900
本站关键字:桂林网站建设 桂林网站推广 桂林网站设计 桂林网络公司 桂林seo优化 桂林域名注册 桂林虚拟主机 桂林建站 桂林400电话