2011-01-08 63 views
3

我注意到4chan,如果你刷新頁面太多(例如,填寫表單太多次.etc) - 他們向你展示了recaptcha頁面。我想知道如何做到這一點,他們是否使用算法或什麼來決定什麼是可疑行爲?你將如何在PHP中記錄使用歷史記錄(即如何在PHP中執行此操作)?刷新頁面太多

這很可能是使用正確的會話完成的 - 或者它們會使用IP地址將數據存儲在數據庫中(不太可能是由於動態IP)。

回答

2

您可以使用會話來跟蹤某人訪問的最後一頁的內容,以及它是否與當前頁面相同。然後,您可以增加一個計數器,以查看它們連續觸及同一頁面的次數,如果太頻繁,可以重定向。你也可以添加一個時間戳來查看他們上次訪問頁面多久以前,如果他們點擊刷新按鈕,這將是一個很小的差異。

1

我想,如果你用$ _SESSION []做這個,它會比存儲數據庫好。當瀏覽器窗口關閉時,SESSION將被清除

+2

如果您可以避免它,那麼您也不希望在每次有人點擊您的站點時讀寫數據庫 - 這是一個拒絕服務向量,它是他們試圖在這裏放慢腳步的事情之一。 – Rob 2011-01-08 23:23:17