我有一個網站開始增長,但隨着用戶繼續註冊並向其他成員發送垃圾郵件消息。我目前使用谷歌的captcha API服務,但如果用戶手動創建一個帳戶,那麼這是沒用的。我的主要問題是在用戶創建假帳戶後,他們開始發送重複郵件,所以我的想法是檢查一些PHP代碼中的消息的相似性,並在發送x金額後拒絕它們,但我不確定這是多少負載穿上服務器。有沒有辦法可以在註冊時獲得IP,如果他們開始發送垃圾郵件,則禁止該IP。這讓我瘋狂,因爲我現在每天花費將近一個小時來清理垃圾郵件並刪除無效用戶。讓其他人遇到這個問題,你採取了哪些措施?如何防止SPAM用戶註冊?
0
A
回答
5
有各種解決方案,但他們都沒有完美的工作,最好是使用解決方案的組合。
幾個解決方案:
- 強制用於發送消息的時間限制(每30秒或60秒1個消息)
- 使用PHP函數similar_text所要檢查的最後一個發送的消息的新消息和拒絕發送消息,如果相似度超過設定的百分比(我猜70%以上)
- 使用CAPTCHA的,如果用戶在設定的時間
- 發送大量的郵件保存列表的IP不會忽略($ _ SERVER [」 REMOTE_ADDR']會告訴你哪個IP是你的ser)在你的用戶數據庫中,並保留一個禁止列表,然後用它來檢查用戶註冊時是否阻止他們創建帳戶。
- 給你的用戶的報告按鈕,通知您的垃圾郵件
- 自動臨時禁令時,他(她)經常報道/
- 也請根據用戶的電子郵件地址禁止列表中的用戶(這需要更多的時間對於垃圾郵件發送者創建一個新的電子郵件地址(僅適用於經確認的電子郵件不會忽略這樣做,因爲電子郵件不會忽略可以劫持)
這些僅僅是一些可用的選項,只是儘量使垃圾郵件發送者的生活艱苦儘可能
1
要獲得用戶的IP使用
$_SERVER['REMOTE_ADDR'];
一步我已經採取超出被我挖掘到StopForumSpam's API自動阻止用戶,如果他們的IP或電子郵件中垃圾郵件發送者的發現數據庫。比驗證碼更聰明。
如果您受到垃圾郵件的攻擊,我建議您尋找類似的解決方案。
+0
這個作品很有用 - 很棒的回答 – Franco
相關問題
- 1. 如何防止用戶註冊時Sinatra
- 2. Django註冊:如何防止登錄的用戶註冊?
- 3. 如何防止非註冊用戶爲註冊用戶加載網頁?
- 4. 如何防止用戶使用特定用戶名註冊?
- 5. 如何防止兩個用戶註冊相同的用戶名?
- 6. 防止用戶註冊兩次
- 7. 防止註冊字典用戶名
- 8. PHP - 防止未註冊用戶加入
- 9. 防止用戶在asp.net註冊控件中註冊後登錄
- 10. 防止用戶註冊,如果用戶名被採取
- 11. 如何防止在GAC中註冊DLL
- 12. Stormpath如何阻止用戶註冊
- 13. 防止「註冊機器人」?
- 14. 如何防止用戶註冊時出現重複的用戶名? PHP/MySQL
- 15. 使用護照註冊後防止用戶身份驗證
- 16. 用戶註冊(site.com/name)和防止路徑衝突
- 17. 防止用戶訪問某些頁面直到註冊
- 18. 註冊時防止重複用戶名條目(PHP/MySQL的
- 19. 如何讓註冊用戶使用Devise註冊其他用戶?
- 20. 如何防止登錄的用戶回到Android登錄/註冊屏幕?
- 21. 如何防止在asp.net中的註冊頁面上有重複的用戶名
- 22. 如何註冊用戶
- 23. 用戶如何註冊Oauth?
- 24. 如何防止禁用時註冊按下NSButton?
- 25. 註冊後註冊用戶
- 26. 註冊用戶和未註冊用戶
- 27. 努力防止班級註冊申請過度註冊
- 28. 防止用戶使用相同的用戶名和電子郵件註冊
- 29. 防止顯示運營商/註冊
- 30. 防止解析未註冊的類
感謝您的洞察力。我會盡力實現其中的一些想法。 – Paul
在服務器上查看使用similar_text函數發送的最後10條消息是否太過重要? – Paul
這取決於你可用的資源類型(服務器規格),我個人將它限制爲最後2條消息,因爲10條消息中的1條或多或少相似似乎很常見。 – Mervin