![]() |
IP адреса... ето родина моя... всех люблю на свете я... :)
как в РНР определить к Какой стране принадлежит комп с которого зашли на страницу ? точнее как проверять IP адреса?
|
|
нет .. чтобы mirrors делать....
|
Можешь посмотреть зону в hostname и по ней попытаться что-либо препринять . Но имхо, у тебя не такой мега-портал с кучей сервисов, что потребуется система зеркал .
|
Stasik крута, и parser прикольный, оценил :) geo через whois/ripn и gd?
|
ну gd... да.... :) а остальное.. ноу хаy :)
|
файлы хранить....
+ редирект на два хоста.. один для забугорья а второй для России и Балтики.. |
lanixov пол-прибалтики в ru через забугор ходит, на данный момент со стороны uk, список российских ip где-то валяется, а как ip на сервере определить в соседней теме.
А вообще стандартая приблуда есть Geo::Mirror (Find closest Mirror) http://search.cpan.org/author/TJMATHER/Geo-IP-1.11/ Stasik там же кстати и Geo::IP (Look up country by IP Address), а в чём ноу хау говоришь? :contract: |
а город? :xex:
|
AА666 спасибо...
найти базу IP стран поделить на интервалы... и проверять цифру перед первой точкой : ето глупо ?? |
Stasik и город там есть и даже координаты: country_code,country_name,city,region,latitude,longitude.
lanixov зачем ip всех стран, просто переводишь в int и гонишь в базу ru ip по сетям и когда кто-нт заходит делаешь: SELECT FROM iptable WHERE $client_ip>low_ip AND $client_ip<high_ip if(@mysql_num_rows()>0) echo "Привет"; else echo "Hello"; |
блин... там Перл ( в котором я полный 0 ) ... а в РНР нельзя ?
|
Ленивы вы батенька, там в ридми ссылка есть на www.maxmind.com на котором это лежит в php /download/geoip/api/php и база по странам /download/geoip/database
|
На данный момент самый надежный способ определить самое быстрое зеркало, это пропинговать пользователя через все зеркала и выбрать нужное . Ведь задача стоит не подобрать то зеркало, которое по диапазону IP ближе, а то, которое быстрее .
|
AA666
ну я его и юзаю :xex: только вот с картой ещё |
глупый вопросик... : у кого есть причесаный .dat файл и что там за содержимое ?
|
RaZEr можно с javascripta выкачать несколько или один пробных файлов с мирроров и смотреть с кого быстрее.
lanixov http://www.maxmind.com/download/geoi...e/GeoIP.dat.gz |
нее ... мне не ссылка на .dat нужна.. а просто причесанный... ( а то в скачанном сполшной текст... ничего не понятно )..
+ и еще проблемка : пользователям и мне с ЛАН пишет что США , хотя я в Литве ( и адреса типа 192.168.240.1 которые внатуре Америкосские :) |
фильтруй...
|
причёсанный... так у тебя и есть "причёсанный" и готовый к употреблению, а если ты про сырцы, то они на том же сайте валялись
|
Про JS: А как точно определить задержку прохождения запроса ? У меня конечно крутятся идеи с таймером и image.src, но по-моему это сильно натянуто будет если так .
|
скажите пожалуйта, а чем читать этот .dat ?
|
Cделать 2 img с src с разных серверов, поменять src и ловить onload="imageLoaded()", с тайм-аутом пару секунд. Только надо сначала пустышку загрузить со второго сервера, чтобы tcp соединение установить. Всмысле натянуто?
|
да ничем его читать не надо, там все IP мира по всем странам мира в двоичном виде
PHP код:
|
простейший вариант с JS:
html: <SCRIPT language=Javascript src="mirror.js"></SCRIPT> <img src="http://mirror1/picture_10kb.jpg" onload="imgloaded(1)" border=0> <img src="http://mirror2/picture_10kb.jpg" onload="imgloaded(2)" border=0> mirror.js: PHP код:
|
А почему проще не сделать:
<img src="http://mirror1/picture_10kb_567856.jpg" onload="imgloaded('http://www.xz1.com')" border=0> <img src="http://mirror2/picture_10kb_345345.jpg" onload="imgloaded('http://www.xz2.com')" border=0> var mirrored = 0; function imgloaded(loc) { if (!mirrored) { document.location.href = loc; mirrored = 1; } } |
Можно и так, я планировал до начала сравнения законнектиться со вторым сервером или фору по времени сделать. При http1.1 c keep-alive с текущего сервера картинка быстрее придёт, до второго ещё достучаться надо и tcp установить. С js конечно круче, но автору это имхо уже не интересно :)
|
Ну с keep-alive ты зря . Пинг он и в африке пинг . Если от серва до юзера пакеты прыгают 800ms, то за 200 они не прийдут из-за того, что коннект установлен .
PS: Автору уже очень давно ничего не интересно ... |
| Часовой пояс GMT +4, время: 19:10. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.