|
|
|
| Надо проверить IP пользователя является ли русским или нет.
Алгоритм:
Преобразовываем IP(этот шаг у меня вызывает зотруднения, так как я незнаю как устроены и что они делают все эти маски подсети и т.д.)
Потом просто грузим страницу http://noc.masterhost.ru/allrunet/runet
Ищим есть ли данный IP в списке, если есть, то значит IP русский, а если нету значит IP забугровый :)) | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 10:28)
| | Так а куда нужно преобразовать IP? | |
|
|
|
|
|
|
|
для: cheops
(16.10.2005 в 14:15)
| | Всмысле куда? Просто вот в этом списке все IP кончаются на .0/тут ещё число какое-то.
К примеру мой IP 195.131.106.235 а в том списке он пренадлежит к 195.131.0.0/16.
Я незнаю как точнее объяснить, но думую вы поняли :)))) | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 14:27)
| | А вас затрудняет CIDR-нотация диапазонов IP-адресов... сейчас постараюсь объяснить...
Вот есть диапазон 195.131.0.0/16, 195.131.0.0 в нём - это начальный адрес, 16 - это краткая запись маски подсети, означающая, что в маске будет закрыто 16 бит. Адрес 195.131.0.0 в двоичной форме можно представить как
11000011 10000011 00000000 00000000
|
16 bit это соотвествует маске
11111111 11111111 00000000 00000000
|
или по русски :))) 255.255.0.0 т.е. диапазон от 195.131.0.0 до 195.131.255.255 | |
|
|
|
|
|
|
|
для: cheops
(16.10.2005 в 15:42)
| | Хм а как определить - Украину или другое СНГ? | |
|
|
|
|
|
|
|
для: weldpua2008
(16.10.2005 в 16:24)
| | Я пользуюсь Базой IP адресов и мне нравится. | |
|
|
|
|
|
|
|
для: Евгений Петров
(16.10.2005 в 17:28)
| | Не изволите ли поделиться ? :) | |
|
|
|
|
|
|
|
|
для: Евгений Петров
(16.10.2005 в 17:28)
| | большой минус баз --- их надо постоянно обновлять | |
|
|
|
|
|
|
|
для: cheops
(16.10.2005 в 15:42)
| | спасибо )) вроде дашло )
так мне просто надо в моём IP вытащить всё до второй точки, а потом из этого списка у каждого IP тоже вытаскивать всё до второй точки а потом сравнивать? | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 16:47)
| | А что можете сказать насчет GeoIP?
Там есть база IP и скрипт на php | |
|
|
|
|
|
|
|
для: weldpua2008
(16.10.2005 в 18:14)
| | а что GeoIP? нафиг он нужен... я вот сейчас от cheopsa дождусь ответа и мне больше ничего не надо | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 16:47)
| | А вы можете каждую цифру адреса вытащить при помощи explode()
<?php
list($ip1, $ip2, $ip3, $ip4) = explode(".", "195.131.106.235");
?>
|
тогда в $ip1 будет 195, в $ip2 - 131, в $ip3 - 106, а в $ip4 - 235 | |
|
|
|
|
|
|
|
для: cheops
(16.10.2005 в 19:44)
| | Держите скрипт друзья
<?php
# Разбиваем IP адрес и заносим каждый кусочек в массив
$ip = explode(".", $_SERVER['REMOTE_ADDR']);
# Загружаем страницу с русскими IP адресами
$rusiplist = file_get_contents("http://noc.masterhost.ru/allrunet/runet");
# Разбиваем список IP и заносим каждый IP в массив
$data = explode("\n", $rusiplist);
foreach($data as $rusip)
{
$rip = explode(".", $rusip);
if($ip['0'] == $rip['0'] and $ip['1'] == $rip['1'])
{
$rus = true;
break;
}
else
{
continue;
}
}
if($rus)
{
print "Ваш IP(".$_SERVER['REMOTE_ADDR'].") <font color=red><b>является</b></font> русским";
}
else
{
print "Ваш IP(".$_SERVER['REMOTE_ADDR'].") <font color=red><b>не является</b></font> русским";
}
?>
|
Пример работы здесь. Если найдете глюки, то пишите. | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 20:25)
| | Ваш IP(80.84.178.195) является русским
Я живу в Украине | |
|
|
|
|
|
|
|
для: Евгений Петров
(16.10.2005 в 20:36)
| | Да знаю, сейчас переделаю, я нашёл нимного другой способ | |
|
|
|
|
|
|
|
для: Евгений Петров
(16.10.2005 в 20:36)
| | а можете сейчас попробывать? | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 21:14)
| | И все же как определить - Украинский Русский - пользователь?
Или вообще СНГ или Забугорный | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 21:14)
| | Ваш IP(80.84.178.162) не является русским
Уже лучше. Хотя зачем делить народ на русский и не русский. Не проще все таки сверяться с БД. А на счет обновления, то раз в месяц можно и обновить. | |
|
|
|
|
|
|
|
для: Евгений Петров
(17.10.2005 в 00:41)
| | Этот скрипт поможет сайтам, которые делают у себя каталоги файлов, так как у большенства хостинг-провайдеров лимит 1/4 (зарубежный/российский) трафик | |
|
|
|
|
|
|
|
для: JIEXA
(17.10.2005 в 01:07)
| | А если вывести страну Russian Federation - это разве не поможет? | |
|
|
|
|
|
|
|
для: JIEXA
(16.10.2005 в 20:25)
| | Вот переделал всё, цените:
<?php
# Загружаем страницу с русскими IP адресами
$result = file_get_contents("http://noc.masterhost.ru/cgi-bin/rus-lookup.pl?IP=".$_SERVER['REMOTE_ADDR']);
print strpos($result,"<font color=green>принадлежит");
if(strpos($result,"<font color=green>"))
{
print "Ваш IP(".$_SERVER['REMOTE_ADDR'].") <font color=red><b>является</b></font> русским";
}
else
{
print "Ваш IP(".$_SERVER['REMOTE_ADDR'].") <font color=red><b>не является</b></font> русским";
}
?>
|
| |
|
|
|