![]() |
Как блокировать посетителей из опр.Страны?
Всем здрасти.
Вопрос таков: как мне заблокировать через .htaccess посетителей из определенной страны? у меня в наличии уже есть база от maxmind в формате "*.csv", сведения в ней даются в следующей форме: beginIp,"endIp","beginIpNum","endIpNum","countryCo de","countryName" 2.6.190.56,"2.6.190.63","33996344","33996351","GB" ,"United Kingdom" 3.0.0.0,"4.17.135.31","50331648","68257567","US"," United States" 4.17.135.32,"4.17.135.63","68257568","68257599","C A","Canada" 4.17.135.64,"4.17.142.255","68257600","68259583"," US","United States" 4.17.143.0,"4.17.143.15","68259584","68259599","CA ","Canada" ну и т.д. (всего около 95000 строк) Соответственно тут указывается диапозон Ip и его страна... П.С. в ПШП я не ахти (( |
GeoIp
|
да дело то в том что модуль GeoIp никак не поставить..... хост капризничает (
|
Хостер не поддерживает PHP? Народ.сру?
|
у меня McHost.ru .... вот тока они говорят что мол виртуальный хостинг не поддерживает модуль GeoIp и так далее бла бла бла (((
какже быть? кстати в .htaccess так писать мона: Order Allow, Deny Deny from 2.6.190.1-2.6.190.56 мол разрешить всем кроме данного диопозона Ip |
PHP код:
|
разжуй пожалуйста принцип его работы
|
выцепляет приоритетный язык юзера, чтобы понять, как это работает, запусти такой код:
PHP код:
|
Pashkela, ему надо по IP, а не по языку. Эти понятия никак не связаны.
Решение правильное дали: GeoIP. |
Ну так, как вариант. А так, конечно, и думать нечего - нафик такого хостера
|
2 ZemoN:
не парься, все проще, чем ты думаешь: http://php.mirror.camelnetwork.com/manual/ru/ref.geoip.php |
В общем вот решение:
1. Скачай это: http://stream.ifolder.ru/8975851 там три файла: 1) GeoIP.dat 2) geoip.inc 3) GeoIPCountryWhois.rar - здесь расшифровка стран по первым двум символам распакуй и скопируй всё в одну папку, туда же положи скрипт следующий: PHP код:
А хостер твой наверное подумал, что ты его просишь установить это (кстати еще один вариант): http://www.maxmind.com/app/mod_geoip |
..... сори за тупой вопрос, а куда воще пшп ставить? делать отдельный файл? или как?
_____ да еще как переделать купленный уже "GeoIP-108.csv" в "GeoIP.dat" или этого не нужна делать? вообщем вопросов просто КУЧА )) |
http://freshcoder.ru/archives/19
|
ну с пшп понятно.... а как его привязать? кстати нашел вот статеку
http://aleksey.nemiro.ru/my/articles/asp/Extracting-the-Country-from-the-IP-Address-How-To.html?page=1#add ток немогу пока разобраться с запретом для целой страны |
Ладно... перефразирую вопрос :
Как технически (желательно готовый пример) осуществить блокировку России на сайт? В наличии ИМЕЕТСЯ: -база Ip по странам от MaxMind в формате "*.csv" и "*.dat" В наличии НЕ ИМЕЕТСЯ: -возможность поставить модуль GeoIp на хост -знание ПШП и ASP/VBScript |
Скачать то, что выложено выше и вставить в свой index.php следующий код:
PHP код:
|
Цитата:
- в штмл можно его пихнуть? - а не нужно ли его (код) пихать во все страницы? малоли из поисковика проиндексируется какаянить друга страница - файл geoip.inc какое функционалное предназночение имеет? надо ли его както обновлять? - и можно ли в пшп добавить разрешение для 1 русского Ip ? |
Идеальный вариант пихать код в так называемую шапку сайта (или в футер) - т.е. те места, которые отображаются на любой странице сайта.
html - если на народ.ру - то нельзя:) Вернее можно, но смысла не будет Только на хосте с поддержкой PHP Обновлять в твоем случае ничего не надо - страны - это не пирожки, чтобы каждый год вылупляться для одного IP можно, но будет работать, если этот один IP статичный: PHP код:
|
да кстати что выше будит имееть приоритет: htaccess или ПШП в ШТМЛ ?
|
.htaccess, всегда
|
Цитата:
http://ru.wikipedia.org/wiki/MVC |
Цитата:
____________ Да как кстати лучше обезопасить GeoIP.dat, ну шоб с сайта не стырили ) |
сделай такой .htaccess:
Код:
Options -Indexes |
кстати пробую щас с таким решением..... что то он не работает (сервак PHP поддерживает) ((
код уже вставлял где не поподя..... просто реакции ни какой ..... что делать?? |
Pashkela не подскажишь почему вышенаписанный тобой ПШП не работает?
|
вариантов несколько:
1. твой хост не поддерживает php 2. поддерживает, но php не установлен 3. Неправильно скопировал 4. Не туда вставил 5. Что-то накосячил, когда вставлял 6. Код работает, но, например, не работает твой остальной код 7. http://место_для_русских" - тут должна быть твоя ссылка, а не та хрень, что тут написана 8. etc....... В общем дофига и больше вариантов. Код рабочий, сам проверял на себе. Если бы код был неправильный, думаю старшие меня бы давно зачмырили - тут же ачад, а не шишки-баб |
Цитата:
2. php установлен 3. скопировал и вставил туда, наверно... ) в HTML страницу между тегов head 4. Пять раз перепроверил... все ок 5. какой остальной код может не работать? О_о 6. http://место_для_русских" ну до этого то я допер =))) Вообщем ХЗ почему он не пашет ((( |
Цитата:
Вообще должна быть что-то типо index.php В обычный .html php-код вставлять нет смысла просто - не будет работать А вот в .php можно вставлять html-код - будет работать и то и другое Но тут уже структура твоего сайта может не позволить так сделать. Чтобы проверить, работает код или нет (а также наличие php на сайте) - создай файл test.php и вставть туда код, что выше, а потом просто перейди по адресу http://твой_сайт/test.php не надо сразу пытаться предложенные скрипты сувать в рабочий код, всегда тести в отдельных файлах |
Pashkela твоя доброта не знает границ.
|
Цитата:
а как это скажится на индиксации сайта? и еще вопрос: Подскажите , а лучше покажите готовый пример передачи через mod_rewrite запрос php скрипту, который и выполняет проверку при посещении любой страницы статичного сайта. просто хочу делать проверку по geoip. |
ТС, ставь TDS и не парь мозг ни себе, ни Пашкеле :) - будет тебе и проверка по ГеоИП,и так далее :)
|
Цитата:
П.С. я токак начинаю во всем этом разбираться :rolleyes: |
создал вот что:
.htaccess- Код:
RewriteEngine onКод:
<?php 1. Index сначала грузится без фильтра 2. При переходе уже на самом сайте переадрисовывает нежелательного пользователя нормально правда для желательного пользователя грузит пустую страницу(белый экран) а путь вверху показывает правильно проблема вроде от сюда Код:
$file = $DOCUMENT_ROOT.$file[0]; |
хз. тут не так трудно надо:
1 все гоним на обработчик с параметром, он же запрос 2 берем там ип. 3.1 если ип не нужный - гоним через Location : site.ru 3.2 иначе гоним на наш сайт, добавив в строку параметр. |
Simple TDS - бесплатная система распределения траффика
http://simpletds.com/ |
| Время: 20:12 |