簡體   English   中英

如何防止SPAM用戶注冊?

[英]How can I prevent SPAM users from signing up?

我有一個正在開始成長的網站,但隨之而來的是那些繼續注冊並向其他成員發送垃圾郵件的用戶。 我目前使用的是Google的驗證碼API服務,但是如果用戶手動創建了一個帳戶,則沒有任何用處。 我的主要問題是,在用戶創建了一個偽造帳戶后,他們開始發送重復的消息,因此我的想法是檢查一些PHP代碼中消息的相似性,並在發送x金額后拒絕它們,但是我不確定這會帶來多大的負載放在服務器上。 當他們注冊並開始向他人發送垃圾郵件時,我是否可以通過某種方式獲取IP並禁止該IP。 這讓我發瘋了,因為我現在每天花費近一個小時來清理垃圾郵件並刪除無效的用戶。 是否有其他人遇到這個問題,您采取了什么措施?

有各種各樣的解決方案,但是沒有一個能完美地工作。最好是結合使用多個解決方案。

一些解決方案:

  • 強制發送消息的時間限制(每30或60秒發送1條消息)
  • 使用PHP函數same_text對照上次發送的消息檢查新消息,如果相似度高於設置的百分比,則拒絕發送該消息(我想應該超過70%)
  • 如果用戶在設定的時間內發送大量郵件,請使用驗證碼
  • 在用戶數據庫中保留一個IP地址列表($ _SERVER ['REMOTE_ADDR']告訴您用戶擁有哪個IP),並保留一個禁止列表,您可以使用該列表檢查用戶何時注冊,以防止他們創建帳戶。
  • 給您的用戶一個報告按鈕,通知您垃圾郵件
  • 經常報告用戶時自動自動禁止用戶
  • 還要根據用戶的電子郵件地址保留一個禁止列表(垃圾郵件發送者需要更多時間來創建新的電子郵件地址(只有在確認電子郵件地址的情況下才能這樣做,因為電子郵件地址可能會被劫持)

這些只是一些可用的選項,請嘗試使垃圾郵件發送者的生活盡可能地艱難。

開發我的WAF的唯一方法是分析流量:

  • HTTP標頭
  • 請求URL,方法,協議
  • 發布數據
  • GET參數
  • 餅干

即使花費了數年,最終產品還是一把非常鋒利的刀 它應該連接到Linux防火牆。 我使用Fail2ban。

獲取用戶使用的IP

$_SERVER['REMOTE_ADDR'];

我采取的第一步是超越StopForumSpam的API,以便在垃圾郵件發送者數據庫中找到用戶的IP或電子郵件時自動阻止該用戶。 比驗證碼聰明得多。

如果您經常被垃圾郵件所困擾,我建議您考慮采用類似的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM