1. BotScout
- 설명: BotScout는 스팸 봇을 탐지하고 차단하는 API를 제공합니다. 해당 서비스는 알려진 스팸 봇의 IP 주소, 이메일, 이름 등을 데이터베이스에서 조회하여 차단할 수 있도록 돕습니다.
- 사이트: BotScout
사용법:
$api_key = 'YOUR_API_KEY'; $ip = $_SERVER['REMOTE_ADDR']; $url = "https://botscout.com/test/?key=$api_key&ip=$ip"; $result = file_get_contents($url); if (strpos($result, 'Y') !== false) { echo 'Bot detected!'; }
2. Project Honey Pot
- 설명: Project Honey Pot은 악성 봇 및 스팸 발송자의 IP 주소를 수집하고 차단할 수 있는 무료 서비스입니다. 이 데이터를 사용하여 PHP 애플리케이션에서 악성 봇을 탐지할 수 있습니다.
- 사이트: Project Honey Pot
사용법:
$ip = $_SERVER['REMOTE_ADDR']; $api_key = 'YOUR_API_KEY'; $query = $api_key . "." . implode(".", array_reverse(explode(".", $ip))) . ".dnsbl.httpbl.org"; $result = dns_get_record($query, DNS_A); if (!empty($result) && $result[0]['ip']) { $parts = explode('.', $result[0]['ip']); $threat_score = $parts[2]; if ($threat_score > 0) { echo "Malicious bot detected!"; } }
3. User-Agent 기반 차단
- 설명: 악성 봇은 종종 잘못된 User-Agent를 사용하므로 이를 활용해 기본적인 차단이 가능합니다. Browscap과 같은 라이브러리를 사용하면 사용자의 User-Agent를 검사하여 봇을 차단할 수 있습니다.
- 라이브러리: phpbrowscap
사용법:
require 'vendor/autoload.php'; $browscap = new \BrowscapPHP\Browscap(); $browscap->updateCache(); $info = $browscap->getBrowser(); if ($info->crawler) { echo "Bot detected!"; }
4. reCAPTCHA
- 설명: Google의 reCAPTCHA는 사용자가 사람인지 봇인지 판단할 수 있는 무료 서비스로, 폼 제출 시 봇 활동을 차단하는 데 유용합니다.
- 사이트: reCAPTCHA
사용법:
$response = $_POST['g-recaptcha-response']; $secret_key = 'YOUR_SECRET_KEY'; $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response"; $result = file_get_contents($url); $result_json = json_decode($result); if ($result_json->success) { echo 'Human verified'; } else { echo 'Bot detected!'; }
위의 라이브러리와 서비스를 사용하면 PHP 애플리케이션에서 악성 봇을 효과적으로 차단할 수 있습니다. 필요에 따라 여러 방법을 조합해 사용하는 것이 좋습니다.
댓글 ( 0)
댓글 남기기