• Авторизация


Страна посетителя 16-11-2005 14:17 к комментариям - к полной версии - понравилось!


Подскажите, как с большой долей вероятности определить, что посетитель страницы из России? Средствами PHP.
вверх^ к полной версии понравилось! в evernote
Комментарии (12):
VictorT 16-11-2005-15:31 удалить
Можно определять по IP, но этот способ не очень доступен, т.к. трудно нахаляву достать актуальную базу разпределения диапазонов айпи-адресов по регионам.
Другой вариант (менее достоверный) - определять локализацию броузера и операционки.
rum 16-11-2005-15:32 удалить
За это, кажется, одна из серверных переменных отвечает?
VictorT 16-11-2005-15:54 удалить
rum:
За это, кажется, одна из серверных переменных отвечает?

Можно попытаться вытаскивать из USER_AGENT и Accept-Language.
Но лучше наверно джава-скриптом.


TLС v.0.5.7
Dimonuch 17-11-2005-01:05 удалить
Средствами ПХП никак :) в нем нет ф-ции "определить страну"
смотри что-то типа http://www.maxmind.com/app/geoip_country

по указанной ссылке списочки ИПов с привязками по странам. Есть версия в CSV, и кажется бесплатно. Соотв. ее пихаешь в Мускул и поехал ...

или что-то подобное

З.Ы. сам не пользовался - надобности не было.
Dimonuch 17-11-2005-01:08 удалить
Исходное сообщение VictorT
rum:
За это, кажется, одна из серверных переменных отвечает?

Можно попытаться вытаскивать из USER_AGENT и Accept-Language.
Но лучше наверно джава-скриптом.


_ОЧЕНЬ_ хотелось бы посмотреть, КАК автор вышериведенной цитаты предполагает реализовать ее в жизни :) Даже забыва я о том, что требовалось сделать это на серваке и через ПХП :) это уже несущественная мелочь :)
BaragoZ 17-11-2005-07:00 удалить
именно средставми php только по ip. больше ты никак и не определишь

Музыка: 19 Отбивная-2 (Ю.Г. и Sir-J)
LiLive Client 0.1.2.21
VictorT 17-11-2005-13:20 удалить
Dimonuch:
Исходное сообщение VictorT
rum:
За это, кажется, одна из серверных переменных отвечает?

Можно попытаться вытаскивать из USER_AGENT и Accept-Language.
Но лучше наверно джава-скриптом.


_ОЧЕНЬ_ хотелось бы посмотреть, КАК автор вышериведенной цитаты предполагает реализовать ее в жизни :) Даже забыва я о том, что требовалось сделать это на серваке и через ПХП :) это уже несущественная мелочь :)

Я написал выше, что это не определение страны, а определение локализации броузера или операционки, что в некоторых случаях может совпадать со страной.
Русскую локализацию можно попытаться определить по наличию строки "ru" в USER_AGENT. Вот примеры её содержимого из моей статистики http://deep.webest.net/c/stat.php?flag=agent&period=2005-11-17
Opera/8.50 (Windows NT 5.1; U; ru)
Opera/8.01 (Windows NT 5.1; U; ru)
Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [ru]
Более же точно определеить локализацию можно джавасриптом. Думаю, мне не надо писить, как можно передать результат работы джаваскрипта в PHP?
Ну и, как я писал выше, этот способ всё-таки не очень хороший, надёжнее по айпи-адресам, но сложнее с актуальной базой их.

TLС v.0.5.7
Coldwizard 17-11-2005-20:56 удалить
У меня шпион на пхп стоит, на каждого посетителя сайт, приходит письмо с инфой: IP, страна, браузер, ссылка с которой пришёл.
Если надо, дам архив с скриптом.
Dimonuch 18-11-2005-13:29 удалить
Я написал выше, что это не определение страны, а определение локализации броузера

Хммм, задача кажется стояла не в определении локализаций, принимаемого языка и т.д., а в определении страны ... или я путаю?
Наверное не надо объяснять, что язык системы и, тем более, какая-то там локализация слабо связаны со страной, откуда пользователь производит запрос. Или все-таки надо?

У меня шпион на пхп стоит, на каждого посетителя сайт, приходит письмо с инфой: IP, страна, браузер, ссылка с которой пришёл.

Мама родная ... Сколько же спама в ящике у меня будет при моих 1500 хостах в сутки только с одного сайта :D Не проще было в базу (файл) складывать, а потом общим отчетом?

Поскольку задача была поставлена в формулировке "Средствами PHP" то рассказывать про логи апача, статистику типа awstats или ручное ковыряние логов наверное не будем. К тому же, иногда такой подход и правда не удобен.
VictorT 18-11-2005-13:35 удалить
Исходное сообщение Dimonuch
Наверное не надо объяснять, что язык системы и, тем более, какая-то там локализация слабо связаны со страной, откуда пользователь производит запрос. Или все-таки надо?
Если ты внимательно читал, то я выше писал, что этот метод недостоверный.
Coldwizard 18-11-2005-22:29 удалить
""Мама родная ... Сколько же спама в ящике у меня будет при моих 1500 хостах в сутки только с одного сайта Не проще было в базу (файл) складывать, а потом общим отчетом?""

Автор говорил про отдельного пользователя, а мне про статистику.
У меня только на поисковики настроен, инетересно по каким запросам люди на сайт мой заходят, тем самым увеличиваю информация, которая будет востребована и сильно повышаю индекс цитирования в поисковика.


Комментарии (12): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Страна посетителя | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»