- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
<?php
// сначала получим строку с сервера с параметрами о клиенте
$user_agent = $_SERVER["HTTP_USER_AGENT"];
// применим функцию, о этой функции здесь
$user_arr = detect_browser ($user_agent);
// $BName - это имя броузера (Explore)
$BName = $user_arr[0];
// $BVersion - его модификация (6.0)
$BVersion = $user_arr[1];
// $BPlatform - операционная система пользователя (Windows 98)
$BPlatform = $user_arr[2];
// $Brobot - имя робота, если это робот. (Rambler)
$Brobot = $user_arr[3];
// если зашёл робот - тормозим его
if ($BName == 'Robot'){ sleep (10);}
// следующую ссылку робот не увидит
if ($BName != "Robot") {echo"ссылка, которая роботу не видна";}
// если нет строки указывающий броузер, значит пришёл робот
if ( $_SERVER["HTTP_USER_AGENT"] == '' ) {
print "Ваш броузер не определён, выключите сетевой экран, если это невозможно, то отправьте нам Ваш Ip адрес, для внесения в базу, допущенных Ip.";
$BName = 'Robot';
}
// если нет некоторых заголовков, которые делают обычные
// броузеры, значит пришёл робот
if (
$_SERVER['HTTP_ACCEPT']=='' or
$_SERVER['HTTP_ACCEPT_ENCODING']=='' or
$_SERVER['HTTP_ACCEPT_LANGUAGE']=='' or
$_SERVER['HTTP_CONNECTION']==''
){ $BName = 'Robot'; }
// если пользователь скачал более 300 страничек нашего сайта
// и наша программа говорит , что это броузер
// останавливаем программу
if ( $hits> 300 and $BName != 'Robot' ){ $BName = 'Robot bad'; exit ; }
// функция считывает файл и
// составляет регулярное выражение
function base_for_search ($path){
$path = str_replace ("\r","", trim ( implode ("", @file ($path))));
return "~(" . str_replace ("\n","|", preg_quote ($path,"~")) . ")~i";
}
// строка, которую будем искать
// в $_SERVER["HTTP_USER_AGENT"]
$search = base_for_search ($base_robot);
// если нашли, значит хороший робот,
// то даём скачивать хоть сколько страниц
if ( preg_match ( $search, $path, $arr_r ) ) {
print "разрешённые поисковики";
}
// если не нашли, значит бэд поисковик,
// даём скачать только 50 страниц
elseif ($hits> 50){ $BName = 'Robot bad'; exit ; }
?>
Определение поискового робота. Скрипт взят с сайта: http://omsk777.ru/robotbad.html
nikita2206 04.03.2012 21:47 # +4
This is obvious 04.03.2012 22:12 # +1
>omsk777
ure welcome
Lure Of Chaos 04.03.2012 23:29 # +3
И ТИШИНА ДОЛЖНА БЫТЬ В БИБЛИОТЕКЕ!
Vindicar 05.03.2012 09:25 # +2
Это волшебно.
stasuss 05.03.2012 11:54 # 0
bugmenot 05.03.2012 12:19 # +2
а, это ж омичи...
Vasiliy 05.03.2012 18:22 # 0
$BName = $user_arr[0];
// $BVersion - его модификация (6.0)
ппц
guest 06.03.2012 10:17 # −1
guest8 09.04.2019 12:47 # −999