|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 66754.4215 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
26.12.2010, 03:14
|
#1
|
Ебланнед
Регистрация: 22.06.2009
Сообщений: 138
Бабло: $49530
|
Как сделать клоакинг по странам?
Вот есть такой скрипт клоакинга от ботов по ай пи:
Код:
<?php
$is_bot = FALSE ;
$user_agent_to_filter = array( '#Ask\s*Jeeves#i', '#HP\s*Web\s*PrintSmart#i', '#HTTrack#i', '#IDBot#i', '#Indy\s*Library#',
'#ListChecker#i', '#MSIECrawler#i', '#NetCache#i', '#Nutch#i', '#RPT-HTTPClient#i',
'#rulinki\.ru#i', '#Twiceler#i', '#WebAlta#i', '#Webster\s*Pro#i','#www\.cys\.ru#i',
'#Wysigot#i', '#Yahoo!\s*Slurp#i', '#Yeti#i', '#Accoona#i', '#CazoodleBot#i',
'#CFNetwork#i', '#ConveraCrawler#i','#DISCo#i', '#Download\s*Master#i', '#FAST\s*MetaWeb\s*Crawler#i',
'#Flexum\s*spider#i', '#Gigabot#i', '#HTMLParser#i', '#ia_archiver#i', '#ichiro#i',
'#IRLbot#i', '#Java#i', '#km\.ru\s*bot#i', '#kmSearchBot#i', '#libwww-perl#i',
'#Lupa\.ru#i', '#LWP::Simple#i', '#lwp-trivial#i', '#Missigua#i', '#MJ12bot#i',
'#msnbot#i', '#msnbot-media#i', '#Offline\s*Explorer#i', '#OmniExplorer_Bot#i',
'#PEAR#i', '#psbot#i', '#Python#i', '#rulinki\.ru#i', '#SMILE#i',
'#Speedy#i', '#Teleport\s*Pro#i', '#TurtleScanner#i', '#User-Agent#i', '#voyager#i',
'#Webalta#i', '#WebCopier#i', '#WebData#i', '#WebZIP#i', '#Wget#i',
'#Yandex#i', '#Yanga#i', '#Yeti#i','#msnbot#i',
'#spider#i', '#yahoo#i', '#jeeves#i' ,'#google#i' ,'#altavista#i',
'#scooter#i' ,'#av\s*fetch#i' ,'#asterias#i' ,'#spiderthread revision#i' ,'#sqworm#i',
'#ask#i' ,'#lycos.spider#i' ,'#infoseek sidewinder#i' ,'#ultraseek#i' ,'#polybot#i',
'#webcrawler#i', '#robozill#i', '#gulliver#i', '#architextspider#i', '#yahoo!\s*slurp#i',
'#charlotte#i', '#ngb#i' ) ;
$stop_ips_masks = array(
"66\.249\.[6-9][0-9]\.[0-9]+", // Google NetRange: 66.249.64.0 - 66.249.95.255
"74\.125\.[0-9]+\.[0-9]+", // Google NetRange: 74.125.0.0 - 74.125.255.255
"65\.5[2-5]\.[0-9]+\.[0-9]+", // MSN NetRange: 65.52.0.0 - 65.55.255.255,
"74\.6\.[0-9]+\.[0-9]+", // Yahoo NetRange: 74.6.0.0 - 74.6.255.255
"67\.195\.[0-9]+\.[0-9]+", // Yahoo#2 NetRange: 67.195.0.0 - 67.195.255.255
"72\.30\.[0-9]+\.[0-9]+", // Yahoo#3 NetRange: 72.30.0.0 - 72.30.255.255
"38\.[0-9]+\.[0-9]+\.[0-9]+", // Cuill: NetRange: 38.0.0.0 - 38.255.255.255
"93\.172\.94\.227", // MacFinder
"212\.100\.250\.218", // Wells Search II
"71\.165\.223\.134", // Indy Library
"70\.91\.180\.25",
"65\.93\.62\.242",
"74\.193\.246\.129",
"213\.144\.15\.38",
"195\.92\.229\.2",
"70\.50\.189\.191",
"218\.28\.88\.99",
"165\.160\.2\.20",
"89\.122\.224\.230",
"66\.230\.175\.124",
"218\.18\.174\.27",
"65\.33\.87\.94",
"67\.210\.111\.241",
"81\.135\.175\.70",
"64\.69\.34\.134",
"89\.149\.253\.169"
);
// проверяем это бот зашел или нет
foreach ( $stop_ips_masks as $k=>$v )
{
if ( preg_match( '#^'.$v.'$#', $_SERVER['REMOTE_ADDR']) )
$is_bot = TRUE ;
}
// проверяем это бот зашел или нет
if ( $is_bot || !( FALSE === strpos( preg_replace( $user_agent_to_filter, '-NO-WAY-', $_SERVER['HTTP_USER_AGENT'] ), '-NO-WAY-' ) ) )
{
echo '<html><h1>buy viagra</h1></html>'; //тут страница дора скармливаемая гуглу
die();
}
// если это не бот, проверяем откуда пришел посетитель, если с поисковика, то выдаем ему редирект, если не с поисковика выдаем ему оригинальную страницу
elseif ( preg_match ( '#google|msn|live|altavista|ask|yahoo|aol|bing#i', $_SERVER['HTTP_REFERER'] ) )
{
if ( preg_match( "#[\?\&](q|p|query|keywords)=([^&]+)#i", $_SERVER['HTTP_REFERER'] , $match ) )
{
$keyword = $match[2] ;
if ( preg_match( '~viagra~i', $keyword ) ) // вместо viagra пишем свой кейворд, если кейворд типа "buy viagra" то пишем просто viagra
{
header('Location: http://beerhack.name'); // сюда вписываем url на который будем перенаправлять посетителей
die() ;
}
}
}
?>
// тут должно быть содержимое оригинальной страницы
Как сделать так, что б скрипт этот сверяд ай пи клиента с массивом ай пи адресов стран, и если ай пи = урунвай, сингапур или кировоград то один урл, а если Россия, то другой?
__________________
Стану реффом в фармаси теме. Работаю за еду.
ICQ: бЗ79598Ч9 в любое время. :negodue:
|
|
|
26.12.2010, 03:36
|
#2
|
Мегапихарь
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
|
Юзать либу GeoIP от Maxmind
__________________
СелявиСильвуплеДеньгиПокажи
|
|
|
26.12.2010, 04:10
|
#3
|
Наблюдаю
Регистрация: 17.08.2008
Сообщений: 895
Бабло: $152704
|
esatm22 - слушай, а этот кусочек кода случайно не из того линка?
|
|
|
26.12.2010, 04:21
|
#4
|
Силденафил
Регистрация: 17.05.2009
Сообщений: 546
Бабло: $11198228
|
Цитата:
Сообщение от Lucky-Max
esatm22 - слушай, а этот кусочек кода случайно не из того линка?
|
Да не, наврят ли...
|
|
|
26.12.2010, 12:34
|
#5
|
Senior Member
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,780
Бабло: $200550
|
Вроде GeoIP мод для Апача от MaxMind шикарно это разруливает, и прямо в htaccess пишется. А для пхп - есть целое готовое решение от того же МаксМайнда. Правда работает через Ж, но это уже отдельно..
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
|
|
|
26.12.2010, 14:48
|
#6
|
Ебланнед
Регистрация: 22.06.2009
Сообщений: 138
Бабло: $49530
ТС -->
|
ТС
спасибо, попробую GeoIP
__________________
Стану реффом в фармаси теме. Работаю за еду.
ICQ: бЗ79598Ч9 в любое время. :negodue:
|
|
|
26.12.2010, 16:56
|
#7
|
Senior Member
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,780
Бабло: $200550
|
Правда иногда geoip.php может сделать вот такой подарочек
Цитата:
PHP error error traversing database - perhaps it is corrupt?
|
и вместо работы, превращаешься в дебаггера ...
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
|
|
|
27.12.2010, 03:24
|
#8
|
Senior Member
Регистрация: 03.04.2007
Адрес: www.ua
Сообщений: 3,209
Бабло: $373635
|
У меня вроде не видел такого никогда.. А так да юзаю геоип в пхп, полет нормальный.
|
|
|
|