PHP ile Bot tarama yapabilirsiniz, Websitenize giren botları tespit etmek için js çalıştırın çalıştıramayanları php filtereler, User-agent sorgusu ve ek olarak bot kütüphanelerini kullandığını anlamak için örnek.
Yaygın dillerde kullanılan bot kütüphanelerini tespit edip yakalatabilirsiniz. Botların geneli JavaScript kodlarını çalıştıramaz ve benzeri çeşitli yöntemlerle bot ip adresini tespit edersiniz. Sonrasında kullanıcı panelinizden engelleme yapabilirsiniz.
<?php
function seleniumBotMu() {
$kullaniciAjani = $_SERVER['HTTP_USER_AGENT'];
$seleniumUserAgentlari = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'python-requests'
];
// User-Agent üzerinden kontrol
foreach ($seleniumUserAgentlari as $botUserAgent) {
if (strpos($kullaniciAjani , $botUserAgent) !== false) {
return true;
}
}
return false;
}
function seleniumBotuYasakla() {
if (seleniumBotMu()) {
$ipAdresi = $_SERVER['REMOTE_ADDR'];
$yasakliIpsDosyasi = 'yasakli_ips.txt';
file_put_contents($yasakliIpsDosyasi, $ipAdresi . "\n", FILE_APPEND);
header('HTTP/1.1 403 Forbidden');
echo "Erişim reddedildi. Selenium botu tespit edildi.";
exit();
}
}
seleniumBotuYasakla();
echo "Web sitesine hoş geldiniz!";
?><script>
window.onload = function() {
var botMu = false;
if (!window.chrome || !navigator.webdriver) {
botMu = true;
}
if (botMu) {
document.body.innerHTML = 'Erişim Reddedildi. Bot Tespit Edildi!';
}
}
</script>