婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在博客中屏蔽垃圾留言的簡單方法

在博客中屏蔽垃圾留言的簡單方法

熱門標簽:常德電銷平臺外呼系統軟件價格 高德地圖標注客服 地圖標注賺錢項目注冊 電銷機器人廠商代理 白銀外呼paas系統 徐州網絡外呼系統哪個好 湖州u友防封電銷卡 百度地圖標注自定義圖片 滴滴外呼系統

垃圾留言俗稱 Spam,就是到處在留言框里發垃圾廣告的那些,相信大多數人都見識過。以前使用 WordPress 的時候,因為裝了防 Spam 的插件,可以屏蔽掉絕大多數的 Spam。但是自從上個月從 WordPress 遷移到新的博客平臺后,第一天上線就遭遇了幾個Spam,全都是國外的推廣的廣告什么的。博客的訪問量本身就很小,如果每天都來幾條 Spam,太煞風景了,手工刪除也太浪費時間,而且又是自己寫的小系統,也不可能有什么插件可選,只能自己想辦法解決了。

看到有很多網站都是加個驗證碼來解決這個問題的,因為 Spam 很難從圖片中識別出正確的驗證碼,但是對于正常的留言者來說,又憑空多了一個步驟,那么除此之外還有什么方法能屏蔽這些 Spam 呢?

仔細分析一下,正常的留言應該是人類通過瀏覽器提交數據到我們的服務器,而 Spam 通常都是由固定的程序在互聯網上掃描評論表單,偽造表單中的數據,然后判斷表單的action,然后將數據 POST 到這個action上來。也就是說,Spam 發送方都沒有正常地通過瀏覽器訪問過我們的表單頁面,也就是說,頁面上的 JavaScript 都沒有執行過咯,明白這個特點,那問題就迎刃而解了。

首先,我們可以在表單中放一個隱藏的文本框,這個文本框對正常用戶來說是不可見的:

div style="margin:0;padding:0;display:inline">
  input id="checkspam" name="checkspam" type="hidden" value="Hello Ruby" />
/div>

然后再寫一小段 JavaScript 代碼來改變這個文本框的值:

jQuery(document).ready(function($) {
  $("#checkspam").val('abcdefg');
});

由于對于 Spam 發送者來說,這段 JavaScript 是沒有被執行的,那么接下來要做的事情就是在服務端判斷這個隱藏文本框的值了,如果不是 JavaScript 所更改后的值,那么這條留言無疑就是 Spam 了(排除正常用戶的瀏覽器禁用 JavaScript 的情況)。

下面以 Ruby on Rails 應用為例:

if params[:checkspam] == "abcdefg"
 @comment.save
else
 # It's a spam...
end

其實,這個隱藏文本框的作用跟驗證碼是一樣的,只不過這個驗證碼是由 JavaScript 幫忙自動輸入了。

用了這個方法至今一月有余,目前沒有再發生過 Spam 的情況。

標簽:永州 遼寧 梧州 荊門 三沙 公主嶺 普洱 張家界

巨人網絡通訊聲明:本文標題《在博客中屏蔽垃圾留言的簡單方法》,本文關鍵詞  在,博客,中,屏蔽,垃圾,留言,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在博客中屏蔽垃圾留言的簡單方法》相關的同類信息!
  • 本頁收集關于在博客中屏蔽垃圾留言的簡單方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 海盐县| 鄂伦春自治旗| 德庆县| 长沙县| 定兴县| 洛浦县| 城步| 洛宁县| 福建省| 林芝县| 浙江省| 东平县| 鸡东县| 宜州市| 来凤县| 静宁县| 黄骅市| 德昌县| 新乡县| 平谷区| 铜鼓县| 琼海市| 周口市| 洪江市| 溧阳市| 泰顺县| 滨州市| 建水县| 长垣县| 许昌市| 峨眉山市| 东乡县| 长宁县| 湖北省| 乌什县| 临城县| 休宁县| 罗田县| 沾益县| 贞丰县| 电白县|