форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Болтовня / Реально ли сделать ткой скриптег...
. 1 . 2 . >>
Автор Сообщение
Lythium
Участник

194
# Дата: 14 Янв 2007 07:54


Реально ли сделать ткой скриптег..., чтобы на сайте для всех Латвийских айпи адресов показывался один текст, а для остальных всех айпи адресов другой текст.

К примеру заходишь на сайт http://moysait.ru
Если я из Латвии, то мне напишется Привет латыш зайди по этой ссылке(link).
А если я из Белруссии или из Росии то мне показывался бы другой текст.

Вот такой скрипт мне нужен. Реально ли его сделать?))

Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 08:03


Lythium
конечно реально даже очень. можно сделать .htaccess, но лучше на пхп. но для того чтобы определить латышский, нужно знать диапазон ip, которые даются вашей стране. а после этого получать ип и делать проверку на соответствие ищи инфу по латышским ипам

niko
Участник

295
# Дата: 14 Янв 2007 08:04


по моему ниче сложного, определяшь ip-адрес, проверяешь латвийский ли он и выводишь соответствующее сообщение.

Lythium
Участник

194
# Дата: 14 Янв 2007 09:26


niko
А сам скрипт где взять такой? Я сам в пхп не ахти-то

Вот

Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 09:28


Lythium
я же тебе говорю, найди сначала диапазон для латвийских адресов. а потом поможем. есои не помогут тут, пиши мне http://masteroff.org.ru

Lythium
Участник

194
# Дата: 14 Янв 2007 10:03


Рамиль

http://www.nic.lv/gix.html
Вот что я нашёл, но незнаю поможет ли)

niko
Участник

295
# Дата: 14 Янв 2007 10:08


ip-адрес берут так
<?php
echo $_SERVER["REMOTE_ADDR"];
?>
<?php
echo $_SERVER["SERVER_ADDR"];
?>
<?php
$ip = getenv ("REMOTE_ADDR");
?>
здесь карта ip http://ip2city.ru/

Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 10:08


Lythium
значит вот это:
159.148.0.0/16 
193.41.195.0/24 
193.41.33.0/24 
193.41.45.0/24 
193.68.64.0/19 
193.108.29.0/24 
193.108.144.0/22 
193.108.185.0/24 
193.109.211.0/24 
193.109.85.0/24 
193.110.8.0/23 
193.110.164.0/23 
193.111.244.0/22 
195.69.88.0/22 
193.178.150.0/23 
193.178.176.0/21 
193.178.192.0/22 
193.178.232.0/23 
193.201.66.0/23 
194.105.56.0/24 
194.125.240.0/23 
194.153.171.0/24 
194.153.79.0/24 
194.19.224.0/19 
194.42.55.128/25 
194.8.1.0/24 
194.8.2.0/23 
194.8.4.0/22 
194.8.8.0/22 
194.8.12.0/23 
194.8.16.0/21 
194.8.24.0/22 
194.8.32.0/21 
194.8.40.0/22 
194.8.44.0/24 
194.9.171.0/24 
194.9.175.0/24 
195.114.32.0/19 
195.122.0.0/19 
195.13.128.0/17 
195.2.96.0/19 
195.20.126.0/23 
195.216.160.0/19 
195.234.144.0/24 
195.244.128.0/19 
195.26.20.0/23 
195.35.107.0/24 
195.35.114.0/23 
195.62.128.0/19 
212.70.160.0/19 
212.93.96.0/19 
213.21.192.0/18 
213.175.64.0/18 
213.180.96.0/19 
213.182.192.0/19 
217.21.160.0/20 
217.28.48.0/20 
217.198.224.0/20 
217.199.96.0/19 
62.84.0.0/19 
62.85.0.0/17 
80.232.128.0/17 
80.233.128.0/17 
80.249.192.0/20 
80.81.32.0/19 
80.90.0.0/19 
81.94.224.0/20 
81.198.0.0/16 
62.205.192.0/20 
82.193.64.0/19 
83.99.128.0/17 
83.241.0.0/17 
83.136.136.0/21 
82.118.0.0/19 
217.145.208.0/20 
83.243.88.0/21 
83.223.128.0/19 
194.153.135.0/24 
193.201.149.128/26 
84.245.192.0/18 
217.195.48.0/20 
84.237.128.0/17 
193.138.188.0/22 
80.70.16.0/20 
85.158.72.0/21 
195.8.115.0/24 
85.254.0.0/16 
85.115.96.0/19 
194.143.152.0/23 
85.9.192.0/18 
193.238.212.0/22 
193.238.216.0/21 
85.255.64.0/20 
62.205.208.0/21 
62.205.216.0/21 
86.57.0.0/20 
85.15.192.0/18 
86.57.32.0/19 
62.63.128.0/18 
87.226.0.0/17 
80.250.48.0/21 
86.63.160.0/19 
194.187.68.0/22 
194.187.100.0/22 
194.213.9.0/24 
87.110.0.0/16 
194.187.196.0/22 
85.234.160.0/19 
194.213.10.0/24 
195.160.171.0/24 
195.10.204.0/24 
195.10.216.0/24 
80.254.208.0/20 
87.99.64.0/19 
195.178.96.0/23 
195.246.226.0/23 
194.50.105.0/24 
89.201.0.0/17 
89.111.0.0/18 
195.5.102.0/23 
80.250.52.0/22 
87.246.128.0/20 
84.38.128.0/20 
62.85.27.0/24 
62.85.31.0/24 
62.85.106.0/24 
62.85.107.0/24 
62.85.122.0/24 
62.85.123.0/24 
62.85.125.0/24 
62.85.93.0/24 
62.85.116.0/24 
195.3.144.0/22 
89.18.192.0/19 
195.248.64.0/24 
89.191.96.0/19 
62.205.224.0/21 
193.84.184.0/24 
213.175.78.0/23 
213.175.81.0/24 
80.233.214.0/23 
80.233.186.0/23 
80.233.196.0/23 
87.246.144.0/20 
87.246.160.0/19 
89.207.240.0/21 
91.142.0.0/20 
91.135.16.0/20 
91.90.224.0/19 
91.188.32.0/19 
91.135.80.0/20 
89.248.80.0/20


Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 10:15


Рамиль
в принципе добудь из поиска по форуму нормальную функцию добывания ip, потом надо будет сравнить соответствие вот этим адресам, которые нада будет загнать в массив... только что делать с 0/? нада будет превращать это всё в циферки...

Lythium
Участник

194
# Дата: 14 Янв 2007 10:17


Эээ... непонял немножко

acsid
Alfa Guru

2449
# Дата: 14 Янв 2007 10:47 ° Поправил: acsid


» niko
<?php
echo $_SERVER["REMOTE_ADDR"];
?>
<?php
echo $_SERVER["SERVER_ADDR"];
?>
<?php
$ip = getenv ("REMOTE_ADDR");
?>

Ламирский способ. Поиши по форуму , мы тут много писали как это грамотно сделать.
А потом нужно поместить список ай-пи в фаил.Затем всего лишь проверить айпи гостя на диапозон из фаила.

Lythium
Участник

194
# Дата: 14 Янв 2007 11:06


$ip=(isset($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:0;



Вот вроде...

Вот чё-то ещё нарыл
<?php 
$ip=(isset($_SERVER['HTTP_X_FORWARDED_FOR']))?$_SERVER['HTTP_X_FORWARD ED_FOR']: 
0; // Определяем ip пользователя если он через проксю if ($ip==0){$ip=(isset($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:0;} //
Если не через проксю, то определяем ip иначе



А списка айпи его же нету...

Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 11:09


acsid
ну, я ж ему объяснил
» Рамиль
добудь из поиска по форуму нормальную функцию добывания ip,
а потом
» Рамиль
потом надо будет сравнить соответствие вот этим адресам


Рамиль
minibb moder

1152
# Дата: 14 Янв 2007 11:17


Рамиль
потом будет
 
$ips = array('62.85.125.1', '62.85.125.2'); 
for($i = 0; $i < count($ips); $ii++) 
{ 
    if(in_array($ip, $ips) echo "хай, земляк!"; 
}


хотя конечно простым in_array пользоваться не стоит, лучше сделать регулярку и потом прег_матчить

acsid
Alfa Guru

2449
# Дата: 14 Янв 2007 11:19


» Рамиль
массив... только что делать с 0/? нада будет превращать это всё в циферки...

Нада достать айпи , потом $dia=explode('.',$ip); раделим его по делиметру . А потом откроем фаил со всеми айпишниками и разделим какждую строку такимже образом. В цикле сверим первые три элемента двух массивов .Если эти циферки совапали значит айпи латвийский

admin
powered by admin

7228
# Дата: 14 Янв 2007 11:22


кстати где-то вроде есть базы ип-адресов крупные по всем странам

niko
Участник

295
# Дата: 14 Янв 2007 11:27


acsid вообще это не способ, а функции, горох не каша

acsid
Alfa Guru

2449
# Дата: 14 Янв 2007 11:29 ° Поправил: acsid


niko
и чо?

katrina
Участник

38
# Дата: 14 Янв 2007 13:32 ° Поправил: katrina


Вот список мест где всё это обсуждалось в малейших подробностях и примерах:
http://forum.alfaspace.net/6_4668_0.html
http://forum.vingrad.ru/topic-129677.html
http://forum.fatal.ru/viewtopic.php?t=2802
http://forum.fatal.ru/viewtopic.php?t=4232
admin
Вот здесь http://www.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip есть по странам базы айпи

Lythium
Участник

194
# Дата: 14 Янв 2007 14:08


Кто-то может написать мм. код скрипта и где всё таки достать айпи латвии?
http://www.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip тут вообще нету помойму латвийского ниодного айпи..

katrina
Участник

38
# Дата: 14 Янв 2007 14:17 ° Поправил: katrina


Как это нету,а это что?
"62.63.128.0","62.63.191.255","1044348928","1044365311","LV","Latvia" 
"62.84.0.0","62.84.31.255","1045692416","1045700607","LV","Latvia" 
"62.85.0.0","62.85.127.255","1045757952","1045790719","LV","Latvia" 
"62.205.192.0","62.205.255.255","1053671424","1053687807","LV","Latvia" 
"80.70.16.0","80.70.31.255","1346768896","1346772991","LV","Latvia" 
"80.81.32.0","80.81.63.255","1347493888","1347502079","LV","Latvia" 
"80.90.0.0","80.90.3.15","1348075520","1348076303","LV","Latvia" 
"80.90.3.24","80.90.31.255","1348076312","1348083711","LV","Latvia" 
"80.232.128.0","80.232.255.255","1357414400","1357447167","LV","Latvia" 
"80.233.128.0","80.233.255.255","1357479936","1357512703","LV","Latvia" 
"80.249.192.0","80.249.207.255","1358544896","1358548991","LV","Latvia" 
"80.250.48.0","80.250.63.255","1358573568","1358577663","LV","Latvia" 
"80.254.208.0","80.254.223.255","1358876672","1358880767","LV","Latvia" 
"81.94.224.0","81.94.239.255","1365172224","1365176319","LV","Latvia" 
"81.198.0.0","81.198.255.255","1371930624","1371996159","LV","Latvia" 
"82.193.64.0","82.193.95.255","1388396544","1388404735","LV","Latvia" 
"82.198.30.0","82.198.31.255","1388715520","1388716031","LV","Latvia" 
"83.99.128.0","83.99.255.255","1399029760","1399062527","LV","Latvia" 
"83.136.136.0","83.136.143.255","1401456640","1401458687","LV","Latvia" 
 
 



И это не все сети,их всего 140 Сейчас выложу скрипт,подожди немного

katrina
Участник

38
# Дата: 14 Янв 2007 14:33


Вот скрипт:
<?php 
$rem_ip = $_SERVER["REMOTE_ADDR"]; 
$ip = sprintf ("%u", ip2long ($rem_ip)); 
$file = "net_ip.txt"; 
$fp = fopen ($file, "r"); 
while (!feof ($fp)) 
{ 
    $line = fgets ($fp, 256); 
    $arr = explode (":", $line); 
    if ($arr[0] <= $ip AND $arr[1] >= $ip) 
    { 
        header ("Location: страница_для_Латвии.html"); 
        fclose ($fp); 
        exit; 
    } 
} 
?> 
<?php 
header ("Location: страница_для_остальных.html"); 
?>

Файл net_ip.txt такого содержания...из базы которую скачаешь берёшь диапазоны в айпилонг формате и вписываешь вот так
1044348928:1044365311 
1045692416:1045700607 
1045757952:1045790719 
1053671424:1053687807 
1346768896:1346772991 
1347493888:1347502079 
1348075520:1348076303 
1348076312:1348083711 
:

У тебя должно получится 140 строчек....И всё...пользуйся наздоровье

admin
powered by admin

7228
# Дата: 14 Янв 2007 16:44


» katrina
Вот здесь http://www.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip есть по странам базы айпи




Connected
Pluged&Played

589
# Дата: 14 Янв 2007 17:52 ° Поправил: Connected


Я отфильтровал латвию если кому нада... Тоже хотел пооучаствовать в вашей дисскусии

www.madhamster.jino-net.ru/base.txt

Ток я чото не понял а что означают "1411809280","1411813375" ?

Ну типа 3 и 4 значения?

smallcms
Участник

2752
# Дата: 14 Янв 2007 19:39


Connected
рискну предположить, что это и есть айпитулонги.
это такие бандырлоги, только пропущенные через пхп - ф-цию ip2long()

Lythium
Участник

194
# Дата: 15 Янв 2007 04:59


katrina
Эт как взять диапазоны в айпилонг формате?

persei
Участник

493
# Дата: 15 Янв 2007 05:12


Lythium
ip2long()

Lythium
Участник

194
# Дата: 15 Янв 2007 06:09 ° Поправил: Lythium


Всё сделал как надо, захожу на страничку .php и пустая страница, не показывает ни 1.html ни 2.html (страница_для_Латвии и страница_для_остальных)

Михаил
Ушел в бан)

2582
# Дата: 15 Янв 2007 06:18


Lythium
Весь код странички покажи

Lythium
Участник

194
# Дата: 15 Янв 2007 06:26


Значит файл http://www.i-neon.lv/rest.php (тест):
<?php 
$rem_ip = $_SERVER["REMOTE_ADDR"]; 
$ip = sprintf ("%u", ip2long ($rem_ip)); 
$file = "net_ip.txt"; 
$fp = fopen ($file, "r"); 
while (!feof ($fp)) 
{ 
    $line = fgets ($fp, 256); 
    $arr = explode (":", $line); 
    if ($arr[0] <= $ip AND $arr[1] >= $ip) 
    { 
        header ("Location: 1.html"); 
        fclose ($fp); 
        exit; 
    } 
} 
?> 
<?php 
header ("Location: 2.html"); 
?>



Файлы 1.html (http://www.i-neon.lv/1.html) и 2.html (http://www.i-neon.lv/2.html).
Файл net_ip.txt (http://www.i-neon.lv/net_ip.txt)

Или же это нужно в движок пихать?..

. 1 . 2 . >>
Эта тема закрыта. Ответы больше не принимаются.
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:47084, gzipped size:11846

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]