通常我们网站做好了,发展起来了,流量也不小了,这是好事,往往这个时候,就会有人来恶搞你了,利用一些刷流量软件,恶意来刷你的站,让诸如百度之类的搜索引擎误以为你的网站在作弊,而把你的网站降权,基至拉进黑名单。这种的事情,东莞网站优化公司碰到不少了。
经过我们的分析和研究,这种情况是完全可以防预和避免的。
这种人刷站的时候要不就是固定IP或是动态IP,如果是固定IP,可以在服务器IIS里设置IP地址和域名限制访问网站。
如果是动态IP,则可以通过网站程序取得恶意刷站的动态IP段,如果属于这个IP段的IP访问网站时,就禁止它访问网站。恶意IP可以从后台添加。
禁止IP访问网站的ASP代码如下:
BadIPGroup = 所有的IP段或IP地址两个IP间用"|"隔开
If IsForbidIP(BadIPGroup) = True Then
Response.Write(GetIP &"IP地址禁止访问")
Response.End()
End If
’参数vBadIP:要屏蔽的IP段,IP地址集合,用|符号分隔多个IP地址(段)
’返回Bool:True用户IP在被屏蔽范围,False 反之
Function IsForbidIP(vBadIP)
Dim counter, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Split(vBadIP, "|")
arrIPPart = Split(GetIP(), ".")
For i = 0 To UBound(arrBadIP)
counter = 0
arrBadIPPart = Split(arrBadIP(i), ".")
For j = 0 To UBound(arrIPPart)
If(arrBadIPPart(j)) = "*" or Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Then
counter = counter + 1
End If
Next
If counter = 4 Then
IsForbidIP = True
Exit Function
End If
Next
IsForbidIP = False
End Function
’’返回客户IP地址
Function GetIP()
Dim IP
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
GetIP = IP
End Function
这样当在黑名单中的IP地址访问网站时都会提示"192.168.1.1地址禁止访问"这样的提示,停止运行网站了。恶意刷站的问题也就解决了。