2017-06-23 32 views
0

我有一個PHP站點,我有一些用戶使用owasp-zap並註冊自動帳戶和完整的數據庫。每個用戶在我的網站上註冊一個帳戶後,我想按IP封鎖1分鐘。有什麼辦法做到這一點?通過IP在PHP中阻塞客戶端

+2

是。請向我們展示一些您已經開始或想過的代碼,以便開始使用。例如,你有沒有發現訪問日誌條目來顯示這種情況? –

+0

好吧...我的數據庫有1450個用戶名帳戶:zap1,zap2等 – StringShot

+0

我還沒有代碼,因爲我不知道我該如何解決這個問題。我知道使用$ _SERVER ['REMOTE_ADDR']的用戶的IP很熱,但我不知道如何阻止他使用註冊1分鐘 – StringShot

回答

0

您可以建立一個存儲IP的表並使用每隔1分鐘運行一次的mysql事件並刪除該行。您可以查詢數據庫並比較用戶的IP並重定向您填寫的用戶。

您可以通過$ _SERVER ['REMOTE_ADDR']獲取用戶的IP。

表:

CREATE TABLE auth { 
ip varchar(255) not null, 
expires datetime not null 
}; 

事件:

CREATE EVENT auth_event ON SCHEDULE AT EVERY 1 MINUTE 
    DO 
    DELETE FROM auth WHERE expire < NOW(); 

PHP插入語句

INSERT INTO auth(ip, expires) 
VALUES (?, NOW() + INTERVAL 1 MINUTE);