Roboty googla'a jak je zweryfikować
Pobierając stronę nie jest trudno przedstawić się jako ktoś inny (dla programisty). Wystarczy do tego użyć funkcji CURL.
Więc sama informacja w nagłówku, o kliencie nie musi być pewna. Klienta możemy zweryfikować za pomocą zapytania REVDNS (odwrotny DNS).
Możemy sprawdzić kto jest zapisany w REVDNS pod danym adresem IP. Przykładowo mamy pobranie strony wyglądające w ten sposób (log Apache):
Klient przedstawia się jako Googlebot. Sprawdzamy w narzędziu Windowsowym CMD: nslookup:
Odpowiedź jest jasna IP: 66.249.64.187 w REVDNS jest zapisane jako crawl-66-249-64-187.googlebot.com. Więc uznajemy że jest to robot googl'a.
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7");
Więc sama informacja w nagłówku, o kliencie nie musi być pewna. Klienta możemy zweryfikować za pomocą zapytania REVDNS (odwrotny DNS).
Możemy sprawdzić kto jest zapisany w REVDNS pod danym adresem IP. Przykładowo mamy pobranie strony wyglądające w ten sposób (log Apache):
client: 66.249.64.187 - - [15/Oct/2014:14:48:12 +0200] "GET /numer-telefonu-602674703 HTTP/1.1" 200 6907 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Klient przedstawia się jako Googlebot. Sprawdzamy w narzędziu Windowsowym CMD: nslookup:
C:\Windows\system32> C:\Windows\system32>nslookup Default Server: google-public-dns-a.google.com Address: 8.8.8.8 > 66.249.64.187 Server: google-public-dns-a.google.com Address: 8.8.8.8 Name: crawl-66-249-64-187.googlebot.com Address: 66.249.64.187
Odpowiedź jest jasna IP: 66.249.64.187 w REVDNS jest zapisane jako crawl-66-249-64-187.googlebot.com. Więc uznajemy że jest to robot googl'a.