我有一個客戶,他們的網站在蠻力攻擊下。我檢測到許多使用非法IP訪問該網站:你如何計算一個IP訪問一個網站黑名單的時間?
echo $_SERVER['HTTP_REFERER'] . " - " . getIp() . date("Y-m-d H:i:s");
我可以看到ips訪問網站多次,每次10次。
我需要用這種行爲阻止所有ips,你建議做什麼?
(是一個簡單的WordPress的博客)
我有一個客戶,他們的網站在蠻力攻擊下。我檢測到許多使用非法IP訪問該網站:你如何計算一個IP訪問一個網站黑名單的時間?
echo $_SERVER['HTTP_REFERER'] . " - " . getIp() . date("Y-m-d H:i:s");
我可以看到ips訪問網站多次,每次10次。
我需要用這種行爲阻止所有ips,你建議做什麼?
(是一個簡單的WordPress的博客)
該規則可能適用: 每秒請求數超過10個(假設你自己)是欺詐IP的信號,這可能是受控的。
的MySQL:
DROP TABLE IF EXISTS `tbl_request`;
CREATE TABLE `tbl_request` (
`codigo_request` bigint(11) NOT NULL AUTO_INCREMENT,
`ipnumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`date` datetime DEFAULT NULL,
`is_hacking` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`milliseconds` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`blacklisted` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`codigo_request`)
) ENGINE=InnoDB AUTO_INCREMENT=541192 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
欺騙性IP:如果
select *, SUM(count) AS totalCount from (
select *, count(ipnumber) as count from tbl_request group by ipnumber, date HAVING count >= 10 order by count DESC
) AS T GROUP by T.ipnumber order by totalCount DESC
PHP:
$request = new Request();
$request->setIpnumber(get_client_ip());
$request->setDate(getDateForDatabase());
$request->insert();
$fips = $request->getFraudulentIps();
foreach ($fips as $k => $v) {
$v->blacklist();
}
「蠻力」攻擊是,如果有人試圖在獲得您的網站禁區的希望提交的用戶名/密碼。要處理這個問題,您可以設置規則,以確定IP在被阻止之前可以嘗試提交不正確的登錄憑據的次數。您可以在數據庫中記錄詳細信息並使用它。對於WP,您可以使用插件來限制登錄嘗試。 https://www.wpoptimus.com/912/ban-ip-addresses-login-wordpress-dashboard/
另一方面,「DoS」攻擊是用請求淹沒服務器。這種攻擊無法通過代碼處理,需要在服務提供商一級完成。
此外,你會在你的cPanel黑名單ips的選項。
無法登錄區域,該攻擊是公共博客水平下......有人發送請求到http://www.theblogattacked.com/ –
你有一個cPanel?黑名單列出那些IP。或在.htaccess中阻止IP。例如:http://blamcast.net/articles/block-bots-hotlinking-ban-ip-htaccess – blokeish