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)
댓글 남기기