PHP'de Web Örümceklerini Tespit Etmek

2 2018 Aralık
0

Kategori: PHP
2 Aralık 2018 tarihinde yazıldı.

Sitenin kimler ya da kaç kişi tarafından ziyaret edildiğini bilmek birçok web programcısının önemsediği bir şeydir. Arama motorlarının örümceklerinin sitemizi taradığı durumlarda sadece $_SERVER[’HTTP_USER_AGENT’]‘ı kullanmak örümcekleri de gerçek ziyaretçiler olarak değerlendirmek olur ki bu doğru sonuç vermez. Bu sebeple aşağıda sitemizi ziyaret eden kişinin web örümcekleri olup olmadığını anlamak için basit bir kod yazdım.

function OrumcekMi($ziyaretci)
{
  $orumcekler = array('Google' => 'Google', 'MSN' => 'msnbot', 'Rambler' => 'Rambler', 'Yahoo' => 'Yahoo', 'AbachoBOT' => 'AbachoBOT', 'accoona' => 'Accoona', 'AcoiRobot' => 'AcoiRobot', 'ASPSeek' => 'ASPSeek', 'CrocCrawler' => 'CrocCrawler', 'Dumbot' => 'Dumbot', 'FAST-WebCrawler' => 'FAST-WebCrawler', 'GeonaBot' => 'GeonaBot', 'Gigabot' => 'Gigabot', 'Lycos spider' => 'Lycos', 'MSRBOT' => 'MSRBOT', 'Altavista robot' => 'Scooter', 'AltaVista robot' => 'Altavista', 'ID-Search Bot' => 'IDBot', 'eStyle Bot' => 'eStyle', 'Scrubby robot' => 'Scrubby');
  // Aslında yukarıdaki diziyi tek boyutlu tuttuğumuzda aşağıdaki gibi in_array fonksiyonunu kullanmak için diziyi tek boyutlu hale getirmek zorunda kalmayız. Ama ileride örümceklerin adlarını da kullanmak gerekebilir diye adlarını ve anahtarlarını birlikte tuttum.
    foreach ($orumcekler as $a => $b) $oruncek_adlari[] = $a;
    return (in_array($ziyaretci, $oruncek_adlari)) ? true : false;
}

$orumcek_mi = OrumcekMi($_SERVER['HTTP_USER_AGENT']);
if ($orumcek_mi)
{
   // Evet bu bir örümcek. Burayı örümcekle ilgili kısma kaydet.
}
else
{
   // Bu bir gerçek ziyaretçi.
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir