Comment Spam Protection
以本機規則攔截 EmDash 中的垃圾留言:封鎖詞、連結、語言、重複與頻率限制,並記錄判定原因。
外掛
Comment Spam Protection
以本機規則攔截 EmDash 中的垃圾留言:封鎖詞、連結、語言、重複與頻率限制,並記錄判定原因。
描述
Comment Spam Protection 會依照你設定的規則檢查 EmDash 網站上的每則新留言,並告訴你每則留言為何被核准、保留待審或標記為垃圾留言。
所有處理都在你自己的網站上完成。不需要外部服務、帳號或 API 金鑰。
免費版
- 封鎖詞與片語:不分大小寫,有無重音符號皆可比對。
- 封鎖模式:用於詞表無法攔截的文字,例如任意間距的 “free money”。
- 連結數量上限:連結過多的留言會被保留。
- 語言檢查:主要以網站未使用的文字書寫的留言會被保留。
- 重複留言以及同一人的留言過多。
- 封鎖與一律核准的電子郵件與網域。
- 封鎖 IP 位址,可在留言上一鍵加入。
- 受信任的留言者:已登入的會員,或已有留言獲核准的人。
- 針對每條規則,可選擇處理方式:垃圾留言、保留待審或核准。
- 留言活動:每項判定及其原因、篩選器與儀表板小工具。
- 試試留言:在訪客之前先測試你的規則。
- 若你偏好,可直接拒絕明顯的垃圾留言。
開箱即用:內建常見垃圾片語、兩個連結的上限、依網站語言進行的語言檢查、重複與頻率限制,其餘情況則交由你自己的 EmDash 留言設定處理。
已經在使用其他審核外掛?Comment Spam Protection 會把它的結果與原因附加到每則留言供該外掛使用,同時加以記錄,事後也可以移動垃圾留言。
專業版
- 計分模式:符合的規則會累加分數,門檻由你設定。
- 每個集合使用不同規則。
- 重新檢查舊留言,並可先進行試跑。
- 清單的 CSV 匯入與匯出,以及將活動記錄匯出為 CSV。
- 統計:每週留言數量,以及每條規則攔截了什麼。
- 寄給管理員的每週電子郵件。
專業版是同一外掛的授權金鑰,每年 29 美元起:取得專業版。
作者:Peachfin Themes。
安裝
需求
- EmDash 1.0 或更新版本,並具備外掛沙箱執行器。在 Cloudflare 上:需要 Workers Paid 方案與 Worker Loader 繫結。已在 EmDash 1.2.0 上測試。
- 至少為一個集合開啟留言:在 Content Types 下開啟該集合,並開啟 Enable comments。
安裝步驟
- 從外掛登錄庫安裝 Comment Spam Protection。
- 檢視權限並確認。外掛會要求:
- 讀取使用者(EmDash 的留言掛鉤要求此權限),
- 審核留言,
- 寄送電子郵件(專業版的每週郵件),
- 讀取集合清單。
初次使用
- 開啟 Comment rules。合理的預設值已經啟用。
- 加入你想封鎖或一律核准的詞、模式或電子郵件。
- 開啟 Try a comment,貼上一則範例留言,看看會發生什麼事。
- 留意 Comment activity。每則新留言都會顯示做出判定的規則及原因。使用某一列的 Actions 選單可封鎖該 IP 位址、電子郵件或網域。
- 在 Settings 中,選擇垃圾留言是保留在 EmDash 的垃圾留言清單中(預設)還是直接拒絕,以及活動記錄保留多久。
其他審核外掛
EmDash 只允許一個外掛設定新留言的狀態。如果已有其他外掛在做這件事,Comment Spam Protection 仍會檢查每則留言並記錄結果。Settings 會顯示由哪個外掛決定,以及如何變更。
專業版
在 https://peachfinthemes.com/comment-spam-protection/ 購買金鑰(1 個網站每年 29 美元,5 個網站 59 美元,不限網站 99 美元),並貼到 Settings → License。金鑰在你的網站上驗證,不需要聯絡任何人。它適用於授權的網域及其子網域,並一律適用於 localhost 與 *.test 位址。
常見問題
它會把留言傳送到其他地方嗎?
不會。所有檢查都在你的網站上執行,外掛不會發出任何網路請求。授權金鑰也是在你的網站上驗證的。
垃圾留言會如何處理?
預設情況下,它們會以「垃圾留言」狀態儲存,你可以在 EmDash 的留言畫面中檢視並還原。在 Settings 中,你也可以改為直接拒絕明顯的垃圾留言:訪客會看到錯誤訊息,且不會儲存任何內容。被拒絕的留言仍會列在 Comment activity 中。
為什麼一則留言被保留了?
開啟 Comment activity。每一列都會顯示做出判定的規則及原因,例如「3 個連結(上限 2)」或「封鎖詞:casino」。
我可以封鎖某個 IP 位址嗎?
可以:在 Comment activity 中,開啟某則留言的 Actions 選單,選擇 Block this IP address。EmDash 從不向外掛顯示 IP 位址本身,只提供一個加擾後的代碼,所以無法手動輸入位址。
我的老讀者會被保留嗎?
已登入的會員會被核准,除非符合封鎖的電子郵件、詞或模式。你也可以信任已有留言獲核准的人。
什麼是模式?
一種捕捉詞表無法攔截的文字的方式。例如,\bfree\s+money\b 可以比對任意數量空格的 “free money”。可能拖慢網站的模式在儲存時會被拒絕。
我已經在使用其他審核外掛。
此時 Comment Spam Protection 會把它的結果與原因附加到每則留言供該外掛使用,並加以記錄。它也可以在事後移動垃圾留言。
專業版多少錢?
1 個網站每年 29 美元,5 個網站 59 美元,不限網站 99 美元。購買網址:https://peachfinthemes.com/comment-spam-protection/。專業版增加計分模式、依集合設定規則、重新檢查舊留言、CSV 匯入與匯出、統計以及每週電子郵件。https://peachfinthemes.com/comment-spam-protection/
授權過期後會怎樣?
你已儲存的專業版設定會繼續生效。如需變更,請先續訂。
安全性
回報問題
請將安全性問題私下回報至 [email protected]。請不要先提交公開的 issue。
權限
- 讀取使用者: EmDash 只對具備此權限的外掛執行留言掛鉤,因為留言事件包含留言者的電子郵件。同時也用於尋找管理員的位址,以寄送專業版每週郵件。
- 審核留言: 將留言移入垃圾留言(專業版的重新檢查,以及選用的「事後移動留言」),並統計等待審核的留言。包含讀取留言。
- 寄送電子郵件: 專業版的每週郵件,透過網站自己的電子郵件服務寄出。
- 讀取結構描述: 列出集合,用於依集合設定規則。
外掛未宣告任何允許存取的主機,因此無法發出網路請求。
存取控制
管理頁面會在伺服器端檢查呼叫者的 EmDash 角色。編輯者可以檢視 Comment activity 與 Statistics,並可從留言執行封鎖。只有管理員可以變更規則、設定、工具與授權。
公開路由
只有一個路由是公開的:export,即專業版的 CSV 下載。透過連結存取時無法攜帶 EmDash 的管理請求標頭,因此每個連結都使用保存在外掛設定中的隨機金鑰以 HMAC-SHA-256 簽署。連結 10 分鐘後過期。下載還需要有效的專業版授權。
模式
模式在儲存時就會被檢查,因此不會出現某個模式拖住留言檢查的情況。
儲存的資料
活動記錄會保存留言者的姓名、電子郵件、一小段摘錄、IP 位址的加擾代碼(絕不保存位址本身),以及結果與原因,預設保留 90 天(可設為 30 天到一年)。重複與頻率計數器只儲存雜湊值,並會自行過期。每週統計只是計數。除你開啟的每週郵件外,不會向任何地方傳送任何內容。
授權金鑰
金鑰由 Peachfin Themes 商店簽發,使用 Ed25519 簽署並在離線狀態下驗證。金鑰中包含訂單 ID、授權網域與到期日,不含任何個人資料。
變更記錄
1.0.1
- 已在 EmDash 1.2.0 上測試。
- 設定中關於選擇留言審核者的文字不再提及 EmDash 1.0。
1.0.0
首次發布。
- 規則:封鎖詞、封鎖模式、連結數量上限、語言檢查、重複、留言過多、封鎖與一律核准的電子郵件與網域、封鎖 IP 位址、受信任的留言者。
- 針對每條規則,可選擇垃圾留言、保留待審或核准。沒有符合任何規則時,由你的 EmDash 留言設定決定。
- 附有原因的留言活動、篩選器與一鍵封鎖;儀表板小工具;試試留言。
- 可選擇直接拒絕明顯的垃圾留言而不儲存。
- 可與其他審核外掛並存:附加它的結果、記錄下來,並可在事後移動垃圾留言。
- 專業版:計分模式、依集合設定規則、含試跑的舊留言重新檢查、CSV 匯入與匯出、統計、每週電子郵件。