2013-02-26 24 views
0



我在原型階段。

對於下面的情況,我想與你分享我的計劃,如果我的計劃有意義,或者有什麼更好的方法來實現我的要求,你可以推薦我想問你的意見。

謝謝,問候

情景

垃圾郵件機器人可能困擾我的表單。 (郵件,評論,文章分享)在驗證階段,我可以通過已知的方法檢測它是否是垃圾郵件發送者。 (驗證碼,時間限制,祕密問題,隱藏表單元素等),但如果垃圾郵件男孩試圖連續嘗試,該怎麼辦?它將無法驗證和執行表單目標,但它會不斷消耗帶寬。

我的需求

不僅阻止執行表單目標,而且防止連續的基礎上的帶寬消耗。

我的計劃

使用會話能力,計算特定ip在有限時間內的嘗試次數。如果在x分鐘內嘗試的次​​數大於n,則將訪問者重定向到完全不同的url,或者在運行時用php代碼禁止訪問者ip。

我的問題

PHP - 防止垃圾郵件氾濫和過度帶寬的方法

  1. 它是合乎邏輯的垃圾郵件發送者重定向到一個完全不同的網址?如果 是的,你是否知道任何網頁歡迎垃圾郵件IP以 將它們添加到他們的黑名單?換句話說,我知道這個 活動不符合道德標準,所以我不能應用這種 重定向。

  2. 是否可以在我的相關 驗證頁面禁止在php運行時的ip?

回答

1

1)對我來說這似乎不合邏輯。例如,想象一下可以嘗試通過驗證碼的蠻力機器人。最有可能的是它甚至不會在網絡瀏覽器中運行。如果您發送重定向標頭,它可能會忽略它們並且不加載目標頁面。如果你真的需要節省帶寬,你可以簡單地打印空白頁面(例如,你可以使用exit()

2)有可能隨時禁止ip,你總是有$_SERVER['REMOTE_ADDR']變量,如果你決定禁止ip,你可以將它添加到數據庫(或文件)。每當有人需要驗證時,您可以查詢數據庫的ip。