Guest User

Untitled

a guest
May 4th, 2016
619
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.38 KB | None | 0 0
  1. <?php
  2. // используем так:
  3.  
  4. $gb = googlebot_check();
  5. if ($gb == 1) {echo »Fuck off. User-Agent containing ‘googlebot’ != Googlebot!»;}
  6.  
  7. /* Функция возвращает:
  8. 0 — если Юзерагент не содержит googlebot
  9. 1 — если Юзерагент содержит googlebot, но ип не проходит тест описанный выше. Это хитрые конкуренты, которые поставили себе юзерагент гугла.
  10. 2 — это на 99.99% гуглбот. Почему не 100%? Потому-что всякое бывает. От взлома DNS, до чего-то, о чем я даже не знаю.
  11. Те, кто прячется за клаудфлейр и другими подобными сервисами, не забывайте обновлять $_SERVER[‘REMOTE_ADDR’] в скрипте. Чтобы получать реальный ИП, а не ИП сервиса. Костыли можно найти в гугле для каждого сервиса.
  12. */
  13.  
  14.  
  15. function googlebot_check(){
  16.     if ( false === stristr($_SERVER[‘HTTP_USER_AGENT’], ‘googlebot’) ) return 0;
  17.     $hostname = gethostbyaddr($_SERVER[‘REMOTE_ADDR’]);
  18.     if ( false === stristr($hostname, ‘googlebot’) ) return 1;
  19.     if($_SERVER[‘REMOTE_ADDR’] != gethostbyname($hostname)) return 1;
  20.     return 2;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment