1.不可见的 JS 验证码:
隐藏js自动填写,随机固定值10组,例如:今天是多少号,中国的首都等,用 JavaScript 和css 的手段隐藏起来,不让用户看到,
用户启用js 会自动回答正确答案,
用户不启用js ,会提交错误答案,在后台判断提交时修正为正确答案,
没有答案判定为机器人
2.不可见的输入框陷阱:
评论框中增加一个隐藏字段,正常用户是看不到这个字段,所以也不会去填写它,大多数机器人遇到 domain 关键字表单会自动填充一些信息
后台的判断逻辑片段但是机器人是可以看到这个字段的,如果在这里填写了任何东西,那么就会被判定为机器人
3.判断页面输入时间:
新增页面打开的时间,提交表单时验证,打开时间与输入时间低于固定值例如5秒,判断为机器人
<%
If DateDiff("s",request.form("intime1"), Now()) < 5 then
response.write ""
response.end
end if
%>
4.判断来路:
<%
dim server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if server_v1="" or instr(server_v1,"/add.asp")<=0 or mid(server_v1,8,len(server_v2))<>server_v2 then
response.write ""
response.end
end if
%>5.记录用户的cookies以及IP来限制同一用户发表留言的数量:
<%
if request.cookies("postnum")="" then
response.cookies("postnum")=1
response.cookies("postnum").expires=DateAdd("h", 24, Now())
else
response.cookies("postnum")=request.cookies("postnum")+1
end if
if request.cookies("postnum") > 5 then
response.write ""
response.end
end if
%>