主頁 > 知識(shí)庫 > asp有效防止網(wǎng)站留言板出現(xiàn)垃圾留言/評(píng)論實(shí)現(xiàn)思路

asp有效防止網(wǎng)站留言板出現(xiàn)垃圾留言/評(píng)論實(shí)現(xiàn)思路

熱門標(biāo)簽:世界地圖標(biāo)注了哪些城市 濟(jì)源電銷外呼系統(tǒng)線路 外呼線路批發(fā) 武穴地圖標(biāo)注 java外呼系統(tǒng)是什么 創(chuàng)意電話機(jī)器人 梧州市地圖標(biāo)注 石家莊慧營銷外呼系統(tǒng) 地圖標(biāo)注陽江
一.在表單填寫頁面: input name="intime1" type="hidden" value="%=Now()%>">
在提交處理頁面,設(shè)置提交時(shí)間
復(fù)制代碼 代碼如下:

If DateDiff("s",request.form("intime1"), Now()) 5 then
response.write "SCRIPT language=JavaScript>alert('您的留言速度太快,禁止留言!');"
response.write "this.location.href='vbscript:history.back()';/SCRIPT>"
response.end
end if

二.驗(yàn)證碼
復(fù)制代碼 代碼如下:

yz=cstr(request.Form("yz"))
yz1=cstr(session("yz1"))
if yz1>yz then
Response.Write("script language=javascript>alert('請(qǐng)正確輸入驗(yàn)證碼!');/script>")
response.redirect("sign.asp")
end if

三.判斷來路
復(fù)制代碼 代碼如下:

server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
'Response.Write(server_v1)
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
'Response.Write(server_v2)
if mid(server_v1,8,len(server_v2))>server_v2 then
Response.Write("script language=javascript>alert('禁止外部提交數(shù)據(jù)!');/script>")
response.end
end if

四.設(shè)置每日提交次數(shù)
復(fù)制代碼 代碼如下:

'當(dāng)用戶每提交一次
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") > 3 then
response.write "SCRIPT language=JavaScript>alert('今天留言次數(shù)超過限制,禁止留言!');"
response.write "this.location.href='vbscript:history.back()';/SCRIPT>"
response.end
end if

五.禁止IP
復(fù)制代碼 代碼如下:

server_ip=Cstr(Request.ServerVariables("REMOTE_ADDR"))
if right(server_ip,8) = "194.165." then
response.write "禁止重疊提交194.165."
response.End()
end if

1、判斷該發(fā)布信息是否有可靠的來路。只要是自然人發(fā)布的,那么他一定是通過我們提供給用戶的提交頁過來的,一定有一個(gè)來路;如果是機(jī)器發(fā)布的,就不會(huì)有來路信息。
'判斷來路,禁止外部提交
復(fù)制代碼 代碼如下:

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 "SCRIPT language=JavaScript>alert('來源非法,禁止外部提交!');"
response.write "this.location.href='vbscript:history.back()';/SCRIPT>"
response.end
end if

注意,上面的/add.asp就是提交頁面來源頁。當(dāng)然,機(jī)器也可以偽造來路,這就要結(jié)合以下方式一起對(duì)付了。
2、驗(yàn)證碼。驗(yàn)證碼一直是對(duì)付機(jī)器垃圾留言的一個(gè)可行的方法。不同的驗(yàn)證碼有不同的對(duì)付機(jī)器留言的能力,越復(fù)雜的驗(yàn)證碼,機(jī)器越難破解。這需要在考慮用戶的感受和對(duì)付機(jī)器之間選擇一個(gè)平衡點(diǎn)。關(guān)于驗(yàn)證碼的使用方法,我就不多說了,谷歌、百度里搜索下就會(huì)出現(xiàn)很多介紹。
3、判斷來源提交的時(shí)間。如果在提交頁停留的時(shí)間太短,比如20秒,一般只要是個(gè)人,他打字的時(shí)間都不必這個(gè)少。舉例說明,在用戶打開頁面(如add.asp)的時(shí)候,我們記下這個(gè)時(shí)間,在form提交表單里增加一個(gè)隱藏對(duì)象,如:
input name="intime1" type="hidden" value="%=Now()%>">
然后,當(dāng)用戶寫好留言評(píng)論后提交到具體處理頁面(如addok.asp)的時(shí)候,我們獲取當(dāng)前時(shí)間,和add.asp里的這個(gè)intime1時(shí)間比較,如果這個(gè)時(shí)間差小于設(shè)定的時(shí)間,如20秒,則禁止留言,判斷為機(jī)器。代碼可這樣寫:
復(fù)制代碼 代碼如下:

If DateDiff("s",request.form("intime1"), Now()) 20 then
response.write "SCRIPT language=JavaScript>alert('您的留言速度太快了吧,禁止留言!');"
response.write "this.location.href='vbscript:history.back()';/SCRIPT>"
response.end
end if

通過以上三種方法可以屏蔽掉絕大部分的機(jī)器垃圾留言評(píng)論,如果還有大量的留言的話,那多半是人肉留言了。但是,我們又如何對(duì)付人肉留言呢?flymorn也提供方法對(duì)付。
方法很簡(jiǎn)單,就是通過記錄用戶的cookies以及IP來限制同一用戶發(fā)表留言的數(shù)量。比如一天24小時(shí)內(nèi),只允許同一用戶發(fā)表信息5條。我們可以通過以下方法實(shí)現(xiàn)。
復(fù)制代碼 代碼如下:

%'當(dāng)用戶每提交一次
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 "SCRIPT language=JavaScript>alert('今天留言次數(shù)超過限制,禁止留言!');"
response.write "this.location.href='vbscript:history.back()';/SCRIPT>"
response.end
end if
%>

通過以上的限制,人工發(fā)帖也得到了一定的限制。上面的方法是基于cookies判斷,當(dāng)然用戶可以通過瀏覽器清空COOKIES,但這樣增加了他們發(fā)垃圾帖子的難度,提高了門檻。我們還可以繼續(xù)判斷發(fā)布者的IP,通過同一個(gè)IP下發(fā)帖限制數(shù)量來達(dá)到我們的目的。在此,就不再擴(kuò)展,大家可以自己設(shè)計(jì)如何判斷IP來限制發(fā)帖的方法。如果您對(duì)本文討論的主題有看法或建議,歡迎留下評(píng)論,以便我們一起探討。
您可能感興趣的文章:
  • asp簡(jiǎn)單的ajax留言板
  • asp簡(jiǎn)單的ajax留言板(采用三層模式)
  • 利用XML開發(fā)留言板簡(jiǎn)單的例子
  • ASP+XML留言板介紹
  • 本人ajax留言板的源程序 不錯(cuò)的應(yīng)用js
  • 來自經(jīng)典的打造簡(jiǎn)單的PHPMYSQL留言板
  • php xml留言板 xml存儲(chǔ)數(shù)據(jù)的簡(jiǎn)單例子
  • JS+CSS模擬可以無刷新顯示內(nèi)容的留言板實(shí)例
  • 如何使用Android實(shí)現(xiàn)接口實(shí)信息在留言板顯示
  • ASP開發(fā)基于XML的留言板

標(biāo)簽:來賓 滁州 揭陽 南寧 唐山 甘南 迪慶 淮北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp有效防止網(wǎng)站留言板出現(xiàn)垃圾留言/評(píng)論實(shí)現(xiàn)思路》,本文關(guān)鍵詞  asp,有效,防止,網(wǎng)站,留言板,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp有效防止網(wǎng)站留言板出現(xiàn)垃圾留言/評(píng)論實(shí)現(xiàn)思路》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp有效防止網(wǎng)站留言板出現(xiàn)垃圾留言/評(píng)論實(shí)現(xiàn)思路的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章