Реклама на сайте Advertise with us

Редирект по списку IP

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 14:03       Ответить с цитатойцитата 

Есть список IP (как отдельные адреса, так и подсетки), список довольно объемный. Как/чем средиректить юзверей с этитми ИП так, что-бы не сильно нагружать сервак ?

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 23/12/04 в 14:15       Ответить с цитатойцитата 

думаю .htaccess - самый быстрый способ

JpS Live

0
 

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 14:26       Ответить с цитатойцитата 


При списке в 2000-3000 записей ? С учетом того, что на страницах много графики (по 200 с лишним графических элементов) - нагрузка на сервак основательная получается.
Хотя... Как ограничить область проверки 3-мя файлами (они лежат в корне домена) - кто подскажет ?
И как в htacces по подсетям редирект организовать ?

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 

SexBlogs.Name

С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962

Ссылка на сообщениеДобавлено: 23/12/04 в 16:08       Ответить с цитатойцитата 

Sams писал:
Есть список IP (как отдельные адреса, так и подсетки), список довольно объемный. Как/чем средиректить юзверей с этитми ИП так, что-бы не сильно нагружать сервак ?



я делаю на пхп :
Код:

$net = substr($_SERVER["REMOTE_ADDR"], 0,strpos($_SERVER["REMOTE_ADDR"], "."));
if ($net == '61' || $net == '202'|| $net == '203'| $net == '210'| $net == '211'| $net == '218'| $net == '219'| $net == '219')
        { header("Location: $url"); exit;}


как будет работать со списком в 2000 - 3000 я не знаю ...

0
 



С нами с 11.12.04
Сообщения: 99
Рейтинг: -344

Ссылка на сообщениеДобавлено: 23/12/04 в 17:43       Ответить с цитатойцитата 

Можешь попробовать вот такой вариант:

Код:


$ipdata_file = "ipdata.dat"; // file with ip's
$url = "http://www.yahoo.com"; // url to redirect

function getIP()
{
   @$ip;
   if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
       $ip = getenv("HTTP_CLIENT_IP");
   else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
       $ip = getenv("HTTP_X_FORWARDED_FOR");
   else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
       $ip = getenv("REMOTE_ADDR");
   else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
       $ip = $_SERVER['REMOTE_ADDR'];
   else
       $ip = "Unknown";
   return $ip;
}


function check($ipvalue)
{
   global $ip_ar;
   $ipv_ar = explode('.',$ipvalue,4);
   for ($i=0; $i<4; $i++)
    if (isset($ip_ar[$i],$ipv_ar[$i]) && $ipv_ar[$i]!='*')
     {
       if ($ip_ar[$i]!=$ipv_ar[$i]) return false;
     }
   return true;
}

$ipdata = file($ipdata_file);
$ip = GetIP();
if ($ip!=="Unknown")
{
   $ip_ar = explode('.',$ip,4);
   foreach ($ipdata as $ipvalue)
    if (check(trim($ipvalue)))
     {
       header("Location: $url");
       exit;
     }
}



пример файла с апи: (без пустых строк)

1.2.3.4
5.6.7.8
9.10.11.*
127.0.0
11.*.12.255
219.*.*.*
218

то есть для подсетей можно использовать * или просто не писать. Звездочкой будет лучше.

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 23/12/04 в 18:18       Ответить с цитатойцитата 

Sams писал:
При списке в 2000-3000 записей ? С учетом того, что на страницах много графики (по 200 с лишним графических элементов) - нагрузка на сервак основательная получается.
Хотя... Как ограничить область проверки 3-мя файлами (они лежат в корне домена) - кто подскажет ?
И как в htacces по подсетям редирект организовать ?


в случае с .htaccess мало кого трогает сколько там графических файлов, т.к. редирект будет происходить ДО отдачи контента браузеру.

а по поводу нагрузки - если ты считаешь что запуск интерпретатора php или perl с парсингом списка из 2-3К записей будет работать быстрее чем скомпилированный (!) апач - то не используй .htaccess :)

JpS Live

0
 

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 20:42       Ответить с цитатойцитата 

JpS писал:
в случае с .htaccess мало кого трогает сколько там графических файлов, т.к. редирект будет происходить ДО отдачи контента браузеру.

Проблема в том, что апач проверяет все правила из htaccess при каждом обращении к каждому файлу. Т.е. если чела не редиректит (а таких как-никак 85%), то при отдаче каждого графического элемента апач выполняет проверку icon_sad.gif

JpS писал:
а по поводу нагрузки - если ты считаешь что запуск интерпретатора php или perl с парсингом списка из 2-3К записей будет работать быстрее чем скомпилированный (!) апач - то не используй .htaccess icon_smile.gif

Отнюдь так не считаю. Но htaccess - тоже достаточно ресурсоемкий вариант.

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 23/12/04 в 20:45       Ответить с цитатойцитата 

ну точно так же при любом другом варианте эти 85% тоже надо прочекать. мне по прежнему кажется что запускать интерпретатор - это более ресурсоемко.

JpS Live

0
 

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 22:01       Ответить с цитатойцитата 

JpS писал:
ну точно так же при любом другом варианте эти 85% тоже надо прочекать.
Не совсем так. При скриптовом решении я могу проверять один раз - при запросе страницы (без проверки на каждом элементе графики). Но делать это надо не на пхп/перле. Или с какими-то изъеб..и.

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 22:03       Ответить с цитатойцитата 

Lamagro писал:
я делаю на пхп :
Код:

$net = substr($_SERVER["REMOTE_ADDR"], 0,strpos($_SERVER["REMOTE_ADDR"], "."));
if ($net == '61' || $net == '202'|| $net == '203'| $net == '210'| $net == '211'| $net == '218'| $net == '219'| $net == '219')
        { header("Location: $url"); exit;}

как будет работать со списком в 2000 - 3000 я не знаю ...


ОЧЕНЬ медленно. Проверено.

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 23/12/04 в 22:14       Ответить с цитатойцитата 

ну так и в .htaccess ты можешь на картинки это правило не ставить.
если чел не загрузит html (ну или php, чо там у тебя), то и графику грузить не будет.
если ты скажешь что боты могут сами картинки хавать, то я предупреждая такой твой ответ, скажу, что и в случае со скриптом тоже самое может произойти.

JpS Live

0
 

Best4U.Biz

С нами с 21.02.04
Сообщения: 1252
Рейтинг: 1441

Ссылка на сообщениеДобавлено: 23/12/04 в 22:26       Ответить с цитатойцитата 

JpS писал:
ну так и в .htaccess ты можешь на картинки это правило не ставить.
Апач один фиг выполняет хотя-бы первую проверку (на соответсвие типа файла) icon_sad.gif

PPC - не думай о конвертации | Pay Per Lead/Action - то, во что эволюционируют ППС | лучший хостинг

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »