Как технически (желательно готовый пример) осуществить блокировку России на сайт?

Доменные имена Доменные имена
Источник бесперебойного хостинга
started - надежный регистратор доменных имен
Хостинг от cityhost.com.ua
Реклама на Karman.com.ua
Тел.: +38 (066) 370-05-89
ICQ: 271717692
karman.com.ua - Хостинг в Украине
форум о хостинге в Украине

Здравствуйте, гость ( Вход | Регистрация )

Есть вопросы о хостинге и о сайтах?

и получи ответ от профессионалов, которые обожают помогать людям :).
3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> Как технически (желательно готовый пример) осуществить блокировку России на сайт?
ZemoN
сообщение 9.11.2008, 12:49. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #1


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Есть вопрос, а если точнее то ХХЕЕЛЛПП : :
Как технически (желательно готовый пример) осуществить блокировку России на сайт?
В наличии ИМЕЕТСЯ:
-база Ip по странам от MaxMind в формате "*.csv" и "*.dat"
В наличии НЕ ИМЕЕТСЯ:
-возможность поставить модуль GeoIp на хост
-знание ПШП и ASP/VBScript
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 9.11.2008, 14:50. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #2


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 9.11.2008, 12:49) *
Есть вопрос, а если точнее то ХХЕЕЛЛПП : :
Как технически (желательно готовый пример) осуществить блокировку России на сайт?
В наличии ИМЕЕТСЯ:
-база Ip по странам от MaxMind в формате "*.csv" и "*.dat"
В наличии НЕ ИМЕЕТСЯ:
-возможность поставить модуль GeoIp на хост
-знание ПШП и ASP/VBScript


По-моему всё просто.
1. Заливаешь базу Ip в БД. Пишешь скрипт, чтоб можно было потом обновленные файлы заливать. Либо кроном это делать самостоятельно раз месяц (или как там часто меняется база).
2. Ловишь Ip посетителя и ищешь его в БД. Если совпадает, выдаешь сообщение, какое хочешь типа "Приятного вам дня! Доступ для России закрыт! Удачи!".
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 9.11.2008, 14:54. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #3


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 9.11.2008, 12:49) *
В наличии НЕ ИМЕЕТСЯ:
-возможность поставить модуль GeoIp на хост
-знание ПШП и ASP/VBScript


А, сори. Только заметил, что знание РНР в разделе "не имеется".

Тут нужно либо заказывать программиста (например на http://weblancer.net ).
Либо самому учить РНР, хотябы базово и попробовать поискать скрипт соответствующий (например http://www.hotscripts.com/ ).
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 12.11.2008, 23:36. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #4


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата(Aladdin @ 9.11.2008, 15:54) *
А, сори. Только заметил, что знание РНР в разделе "не имеется".

Тут нужно либо заказывать программиста (например на http://weblancer.net ).
Либо самому учить РНР, хотябы базово и попробовать поискать скрипт соответствующий (например http://www.hotscripts.com/ ).


не подскажишь.... я тут коечто нашел:
Код
<?php  
require_once("geoip.inc");  
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);  
$ip = $_SERVER['REMOTE_ADDR'];  
if ($ip == '1.1.1.1') {exit;} // IP - исключение из правил
$code = geoip_country_code_by_addr($gi, $ip);  
if ($code=='RU')  
{  
header("Location: http://место_для_русских");  
}  
else  
{  
exit; // или замени exit на header("Location: http://место_для_нерусских");  
}  
?>

это вроде нуна вставлять в шапку HTML ..... вот ток он почемуто не пашет ((
в чем может быть проблема?
Перейти в начало страницы
 
+Цитировать сообщение
Andriy
сообщение 12.11.2008, 23:48. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #5


Любимый профессионал активист хостинга
****

Группа: Любимый Хостер
Сообщений: 714
Регистрация: 22.7.2007
Из: Kh/Km, Ukraine
Пользователь №: 453



Цитата(ZemoN @ 12.11.2008, 23:36) *
это вроде нуна вставлять в шапку HTML ..... вот ток он почемуто не пашет ((
в чем может быть проблема?


Какие ошибки выдает PHP?

p.s. экстрасенсы отдыхают, пишите всё полностью
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 13.11.2008, 10:35. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #6


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 12.11.2008, 23:36) *
не подскажишь.... я тут коечто нашел:
Код
<?php  
require_once("geoip.inc");  
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);  
$ip = $_SERVER['REMOTE_ADDR'];  
if ($ip == '1.1.1.1') {exit;} // IP - исключение из правил
$code = geoip_country_code_by_addr($gi, $ip);  
if ($code=='RU')  
{  
header("Location: http://место_для_русских");  
}  
else  
{  
exit; // или замени exit на header("Location: http://место_для_нерусских");  
}  
?>


Потому что этот код инклудит файл еще какой-то: geoip.inc.
То есть, тебе нужно еще и этот файл где-то нарыть и залить себе в корень. Можешь его содержимое предварительно здесь привести.

И, на сколько я понимаю, в этом файле описаны следующие функции:
geoip_open();
geoip_country_code_by_addr();

Цитата(ZemoN @ 12.11.2008, 23:36) *
это вроде нуна вставлять в шапку HTML ..... вот ток он почемуто не пашет ((
в чем может быть проблема?


Его-то в шапку вставлять, только файл. во-первых должен иметь расширение ".php" или какое у тебя на сервере зарезервировано под понимание этого языка.
А во-вторых то, что я написал выше.
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 14.11.2008, 2:04. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #7


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата(Aladdin @ 13.11.2008, 11:35) *
Потому что этот код инклудит файл еще какой-то: geoip.inc.
То есть, тебе нужно еще и этот файл где-то нарыть и залить себе в корень. Можешь его содержимое предварительно здесь привести.

И, на сколько я понимаю, в этом файле описаны следующие функции:
geoip_open();
geoip_country_code_by_addr();



Его-то в шапку вставлять, только файл. во-первых должен иметь расширение ".php" или какое у тебя на сервере зарезервировано под понимание этого языка.
А во-вторых то, что я написал выше.

и еще вопрос:

Подскажите , а лучше покажите готовый пример передачи через mod_rewrite запрос php скрипту, который и выполняет проверку при посещении любой страницы статичного сайта.
просто хочу делать проверку по geoip.
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 14.11.2008, 10:18. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #8


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 14.11.2008, 2:04) *
и еще вопрос:

Подскажите , а лучше покажите готовый пример передачи через mod_rewrite запрос php скрипту, который и выполняет проверку при посещении любой страницы статичного сайта.
просто хочу делать проверку по geoip.


Ухты. Пошуршал в интернете. Вот что нашел:
Код
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://www.canada.com [L]

# Все юзеры канады будут направлены на canada.com


Вот еще примеры:
Redirection with mod_geoip and mod_rewrite
Below are examples of how to perform redirection based on country with mod_geoip and mod_rewrite. This configuration should be added to your Apache httpd.conf or .htaccess file.

Код
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

# Redirect one country
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://www.canada.com$1 [L]

# Redirect multiple countries to a single page
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$
RewriteRule ^(.*)$ http://www.northamerica.com$1 [L]



И ещё.
Blocking unwanted countries
The following Apache configuration directives uses GeoIP Country to block traffic from China and Russia:

Код
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
# ... place more countries here

Deny from env=BlockCountry

# Optional - use if you want to allow a specific IP address from the country you denied
# (See http://httpd.apache.org/docs/1.3/mod/mod_access.html for more details)
Allow from 10.1.2.3


Allowing only specified countries
The following Apache configuration directives uses GeoIP Country to only allow traffic from US, Canada, and Mexico.
Код
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE MX AllowCountry
# ... place more countries here

Deny from all
Allow from env=AllowCountry

# Optional - use if you want to allow a specific IP address from the country you denied
# (See http://httpd.apache.org/docs/1.3/mod/mod_access.html for more details)
Allow from 10.1.2.3


А вот как его использовать в РНР:
Код
        <pre>
        <b>Откуда пришел</b>
        <?php
        $country_code = apache_note("GEOIP_COUNTRY_CODE");
        $region = apache_note("GEOIP_REGION");
        $country_name = apache_note("GEOIP_COUNTRY_NAME");
        $city = apache_note("GEOIP_CITY");
        $connect_type = apache_note("GEOIP_NETSPEED");
        $dma_code = apache_note("GEOIP_DMA_CODE");
        $area_code = apache_note("GEOIP_AREA_CODE");
        $latitude = apache_note("GEOIP_LATITUDE");
        $longitude = apache_note("GEOIP_LONGITUDE");
        $postal_code = apache_note("GEOIP_POSTAL_CODE");
        $organization = apache_note("GEOIP_ORGANIZATION");
        $isp = apache_note("GEOIP_ISP");
        echo "Код страны:  " . $country_code . "\n";
        echo "Регион:      " . $region . "\n";
        echo "Имя страны:  " . $country_name . "\n";
        echo "Город:       " . $city . "\n";
        echo "Скорость:    " . $connect_type . "\n";
        echo "dma_code:    " . $dma_code . "\n";
        echo "area_code:   " . $area_code . "\n";
        echo "latitude:    " . $latitude . "\n";
        echo "longitude:   " . $longitude . "\n";
        echo "postal_code: " . $postal_code . "\n";
        echo "Организация: " . $organization . "\n";
        echo "Провайдер:   " . $isp . "\n";
        ?>
        </pre>


Здесь вот какие-то базы по теме лежат: http://weblogexpert.com/download.htm

А вот нашел коды стран:
Код
Страна     Интернет код страны (интернет домен)
АВСТРАЛИЯ     AU
АВСТРИЯ     AT
AFGHANISTAN     AF
ALBANIA     AL
ALGERIA     DZ
AMERICAN SAMOA     AS
ANDORRA     AD
ANGOLA     AO
ANGUILLA     AI
ANTARCTICA     AQ
ANTIGUA AND BARBUDA     AG
ARGENTINA     AR
ARMENIA     AM
ARUBA     AW
AZERBAIJAN     AZ
BAHAMAS, THE     BS
BAHRAIN     BH
BANGLADESH     BD
BARBADOS     BB
BELARUS     BY
BELGIUM     BE
BELIZE     BZ
BENIN     BJ
BERMUDA     BM
BHUTAN     BT
BOLIVIA     BO
BOSNIA AND HERZEGOVINA     BA
BOTSWANA     BW
BOUVET ISLAND     BV
BRAZIL     BR
BRITISH INDIAN OCEAN TERRITORY     IO
BRITISH VIRGIN ISLANDS     VG
BRUNEI     BN
БОЛГАРИЯ     BG
BURKINA FASO     BF
BURMA     MM
BURUNDI     BI
CAMBODIA     KH
CAMEROON     CM
CANADA     CA
CAPE VERDE     CV
CAYMAN ISLANDS     KY
CENTRAL AFRICAN REPUBLIC     CF
CHAD     TD
CHILE     CL
CHINA     CN
CHRISTMAS ISLAND     CX
COCOS (KEELING) ISLANDS     CC
COLOMBIA     CO
COMOROS     KM
CONGO, DEMOCRATIC REPUBLIC OF THE     CD
CONGO, REPUBLIC OF THE     CG
COOK ISLANDS     CK
COSTA RICA     CR
COTE D'IVOIRE     CI
CROATIA     HR
CUBA     CU
CYPRUS     CY
CZECH REPUBLIC     CZ
DENMARK     DK
DJIBOUTI     DJ
DOMINICA     DM
DOMINICAN REPUBLIC     DO
ECUADOR     EC
ЕГИПЕТ     EG
EL SALVADOR     SV
EQUATORIAL GUINEA     GQ
ERITREA     ER
ESTONIA     EE
ETHIOPIA     ET
EUROPEAN UNION     EU (ДЕЙСТВУЕТ С 2005 Г); ПРИМЕЧАНИЕ - КОДЫ СТРАН-УЧАСТНИКОВ СМ В ПОЗИЦИЯХ ДЛЯ ЭТИХ СТРАН
FALKLAND ISLANDS (ISLAS MALVINAS)     FK
FAROE ISLANDS     FO
FIJI     FJ
FINLAND     FI; ПРИМЕЧАНИЕ - ДЛЯ ALAND ISLANDS УСТАНОВЛЕН КОД AX
FRANCE     METROPOLITAN FRANCE - FR; FRENCH GUIANA - GF; GUADELOUPE - GP; MARTINIQUE - MQ; REUNION - RE
FRENCH POLYNESIA     PF
FRENCH SOUTHERN AND ANTARCTIC LANDS     TF
GABON     GA
GAMBIA, THE     GM
GAZA STRIP     PS; ПРИМЕЧАНИЕ - SAME AS WEST BANK
GEORGIA     GE
GERMANY     DE
GHANA     GH
GIBRALTAR     GI
GREECE     GR
GREENLAND     GL
GRENADA     GD
GUAM     GU
GUATEMALA     GT
GUERNSEY     GG
GUINEA     GN
GUINEA-BISSAU     GW
GUYANA     GY
HAITI     HT
HEARD ISLAND AND MCDONALD ISLANDS     HM
HOLY SEE (VATICAN CITY)     VA
HONDURAS     HN
HONG KONG     HK
HUNGARY     HU
ICELAND     IS
INDIA     IN
INDONESIA     ID
IRAN     IR
IRAQ     IQ
IRELAND     IE
ISLE OF MAN     IM
ISRAEL     IL
ITALY     IT
JAMAICA     JM
JAPAN     JP
JERSEY     JE
JORDAN     JO
KAZAKHSTAN     KZ
KENYA     KE
KIRIBATI     KI
KOREA, NORTH     KP
KOREA, SOUTH     KR
KUWAIT     KW
KYRGYZSTAN     KG
LAOS     LA
LATVIA     LV
LEBANON     LB
LESOTHO     LS
LIBERIA     LR
LIBYA     LY
LIECHTENSTEIN     LI
LITHUANIA     LT
LUXEMBOURG     LU
MACAU     MO
MACEDONIA     MK
MADAGASCAR     MG
MALAWI     MW
MALAYSIA     MY
MALDIVES     MV
MALI     ML
MALTA     MT
MARSHALL ISLANDS     MH
MAURITANIA     MR
MAURITIUS     MU
MAYOTTE     YT
MEXICO     MX
MICRONESIA, FEDERATED STATES OF     FM
MOLDOVA     MD
MONACO     MC
MONGOLIA     MN
MONTENEGRO     ME
MONTSERRAT     MS
MOROCCO     MA
MOZAMBIQUE     MZ
NAMIBIA     NA
NAURU     NR
NEPAL     NP
NETHERLANDS     NL
NETHERLANDS ANTILLES     AN
NEW CALEDONIA     NC
NEW ZEALAND     NZ
NICARAGUA     NI
NIGER     NE
NIGERIA     NG
NIUE     NU
NORFOLK ISLAND     NF
NORTHERN MARIANA ISLANDS     MP
NORWAY     NO
OMAN     OM
PAKISTAN     PK
PALAU     PW
PANAMA     PA
PAPUA NEW GUINEA     PG
PARAGUAY     PY
PERU     PE
PHILIPPINES     PH
PITCAIRN ISLANDS     PN
POLAND     PL
PORTUGAL     PT
PUERTO RICO     PR
QATAR     QA
ROMANIA     RO
РОССИЯ     RU; ПРИМЕЧАНИЕ - РОССИЯ ТАКЖЕ УНАСЛЕДОВАЛА ОТ СОВЕТСКОГО СОЮЗА ДОМЕН "SU"
RWANDA     RW
SAINT BARTHELEMY     BL; ПРИМЕЧАНИЕ - GP, THE CCTLD FOR GUADELOUPE, AND FR, THE CCTLD FOR FRANCE, MIGHT ALSO BE ENCOUNTERED
SAINT HELENA     SH; ПРИМЕЧАНИЕ - ASCENSION ISLAND ASSIGNED AC
SAINT KITTS AND NEVIS     KN
SAINT LUCIA     LC
SAINT MARTIN     MF; ПРИМЕЧАНИЕ - GP, THE CCTLD FOR GUADELOUPE, AND FR, THE CCTLD FOR FRANCE, MIGHT ALSO BE ENCOUNTERED
SAINT PIERRE AND MIQUELON     PM
SAINT VINCENT AND THE GRENADINES     VC
SAMOA     WS
SAN MARINO     SM
SAO TOME AND PRINCIPE     ST
SAUDI ARABIA     SA
SENEGAL     SN
SERBIA     RS
SEYCHELLES     SC
SIERRA LEONE     SL
SINGAPORE     SG
SLOVAKIA     SK
SLOVENIA     SI
SOLOMON ISLANDS     SB
SOMALIA     SO
SOUTH AFRICA     ZA
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS     GS
SPAIN     ES
SRI LANKA     LK
SUDAN     SD
SURINAME     SR
SVALBARD     SJ
SWAZILAND     SZ
SWEDEN     SE
SWITZERLAND     CH
SYRIA     SY
TAIWAN     TW
TAJIKISTAN     TJ
TANZANIA     TZ
ТАИЛАНД     TH
TIMOR-LESTE     TL
TOGO     TG
TOKELAU     TK
TONGA     TO
TRINIDAD AND TOBAGO     TT
TUNISIA     TN
ТУРЦИЯ     TR
TURKMENISTAN     TM
TURKS AND CAICOS ISLANDS     TC
TUVALU     TV
UGANDA     UG
UKRAINE     UA
ОБЪЕДИНёННЫЕ АРАБСКИЕ ЭМИРАТЫ (ОАЭ)     AE
UNITED KINGDOM     UK
UNITED STATES     US
URUGUAY     UY
UZBEKISTAN     UZ
VANUATU     VU
VENEZUELA     VE
VIETNAM     VN
VIRGIN ISLANDS     VI
WALLIS AND FUTUNA     WF
WEST BANK     PS; ПРИМЕЧАНИЕ - SAME AS GAZA STRIP
WESTERN SAHARA     EH
YEMEN     YE
ZAMBIA     ZM
ZIMBABWE     ZW
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 14.11.2008, 20:33. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #9


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата(Aladdin @ 14.11.2008, 11:18) *
Ухты. Пошуршал в интернете. Вот что нашел:

да в том то и дело что
Код
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
и все с ним связанное работать не будет так как данная команда запускае предварительно установленный модуль GeoIP, который в свою очередь мне не позволили на хосте сделать (IMG:style_emoticons/default/dry.gif)
просто нужно через mod_rewrite делать запрос php скрипту (пример: script.php) при обращении к любой странице (формата html)на на сайте (IMG:style_emoticons/default/unsure.gif)
так вот как так мона так? (IMG:style_emoticons/default/blink.gif)
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 14.11.2008, 21:43. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #10


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 14.11.2008, 20:33) *
да в том то и дело что
Код
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
и все с ним связанное работать не будет так как данная команда запускае предварительно установленный модуль GeoIP, который в свою очередь мне не позволили на хосте сделать (IMG:style_emoticons/default/dry.gif)
просто нужно через mod_rewrite делать запрос php скрипту (пример: script.php) при обращении к любой странице (формата html)на на сайте (IMG:style_emoticons/default/unsure.gif)
так вот как так мона так? (IMG:style_emoticons/default/blink.gif)


При чем тут mod_rewrite до РНР. Если РНР, то mod_rewrite уже не нужен.
Код, как вам говорили, нужно в хэдер вставлять. Вам только полный код нужно вставить.
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 14.11.2008, 21:55. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #11


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата(Aladdin @ 14.11.2008, 22:43) *
При чем тут mod_rewrite до РНР. Если РНР, то mod_rewrite уже не нужен.
Код, как вам говорили, нужно в хэдер вставлять. Вам только полный код нужно вставить.

да не получится вставлять так как у меня уже около 50 html страниц.... в чем собственно вставка php не работает... а переделывать страницы долго и муторно...
хотел попробывать сделать схему типо такой

пользователь кликает на ссылку(из вне) страницы сайта (*.html) -> срабатывает htaccess в котором mod_rewrite перекидывает на script.php(служит как фильтр) и если проходит то -> возвращает на запрашиваимую страницу (*.html) а если нет то на определенный url топает

вот на пальцах то мне понятно ..... а на деле застопорился ((
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 14.11.2008, 22:04. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #12


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 14.11.2008, 21:55) *
да не получится вставлять так как у меня уже около 50 html страниц.... в чем собственно вставка php не работает... а переделывать страницы долго и муторно...
хотел попробывать сделать схему типо такой

пользователь кликает на ссылку(из вне) страницы сайта (*.html) -> срабатывает htaccess в котором mod_rewrite перекидывает на script.php(служит как фильтр) и если проходит то -> возвращает на запрашиваимую страницу (*.html) а если нет то на определенный url топает

вот на пальцах то мне понятно ..... а на деле застопорился ((


А, ну так это просто:
Код
RewriteEngine on
RewriteRule ^.*\.html /script.php
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 14.11.2008, 22:14. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #13


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата(Aladdin @ 14.11.2008, 23:04) *
А, ну так это просто:
Код
RewriteEngine on
RewriteRule ^.*\.html /script.php

а в script.php следовательно так??
Код

<?php  
require_once("geoip.inc");  
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);  
$ip = $_SERVER['REMOTE_ADDR'];  
if ($ip == '94.188.51.42') {readfile($_GET['file'];}
$code = geoip_country_code_by_addr($gi, $ip);  
if ($code=='RU')  
{  
header("Location: http://yandex.ru");  
}  
else    
{  
readfile($_GET['file'];  
}  
?>


кстати
Код
RewriteEngine on
RewriteRule ^.*\.html /script.php
это точно правильно??? мож всеже так
Код
RewriteEngine on
RewriteRule   ^(.*)\.html$     script.php?file=$1
?
Перейти в начало страницы
 
+Цитировать сообщение
Aladdin
сообщение 15.11.2008, 10:59. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #14


ФИО: Праведно-Счастливый Аладдин Ярославович
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 259
Регистрация: 25.11.2006
Из: г. Киев
Пользователь №: 4



Цитата(ZemoN @ 14.11.2008, 22:14) *
а в script.php следовательно так??
Код

<?php  
require_once("geoip.inc");  
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);  
$ip = $_SERVER['REMOTE_ADDR'];  
if ($ip == '94.188.51.42') {readfile($_GET['file'];}
$code = geoip_country_code_by_addr($gi, $ip);  
if ($code=='RU')  
{  
header("Location: http://yandex.ru");  
}  
else    
{  
readfile($_GET['file'];  
}  
?>


А что в файле geoip.inc? Приведи его содержимое здесь.
Код
if ($ip == '94.188.51.42') {readfile($_GET['file'];}

Во-первых, в этой строке ошибка. Незакрытая круглая скобка. Нужно так:
Код
if ($ip == '94.188.51.42') {readfile($_GET['file']);}

Во-вторых, в чем суть это строки?
Для IP 94.188.51.42 показывать отдельную страницу? Тогда нужно экзит ставить, чтоб скрипт на этом останавливался и не дублировал содержимое.
Код
if ($ip == '94.188.51.42')
{
  readfile($_GET['file']);
  exit;
}


В-третьих, что такое $_GET['file']?
Если у тебя одни ХТМЛ-файлы, то, соответственно, там и переменных никаких в УРЛе передавать не нужно. Тогда тебе нужно просто загрузить файл именно тот, который человек и запрашивал. А именно:
Код
<?php  

$file = explode("?", getenv('REQUEST_URI')); // На всякий случай отрубаем все переменные вместе с вопросительным знаком
array_pop($file);
$file = $DOCUMENT_ROOT.$file[0]; // Это типа адрес файла на локальном диске

require_once("geoip.inc");  
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);  
$ip = $_SERVER['REMOTE_ADDR'];  
if ($ip == '94.188.51.42')
{
  readfile($file);
  exit;
}
$code = geoip_country_code_by_addr($gi, $ip);  
if ($code=='RU')  
{  
  header("Location: http://yandex.ru");  
}  
else    
{  
  readfile($file);  
}  
?>



Цитата(ZemoN @ 14.11.2008, 22:14) *
кстати
Код
RewriteEngine on
RewriteRule ^.*\.html /script.php
это точно правильно??? мож всеже так
Код
RewriteEngine on
RewriteRule   ^(.*)\.html$     script.php?file=$1
?


Я проверял свой код перед тем, как выкладывать сюда.
Перейти в начало страницы
 
+Цитировать сообщение
ZemoN
сообщение 15.11.2008, 14:11. Re: Как технически (желательно готовый пример) осуществить блокировку России на сайт?
Сообщение #15


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 25
Регистрация: 9.11.2008
Пользователь №: 1 534



Цитата
А что в файле geoip.inc? Приведи его содержимое здесь.

вот geoip.inc
Код
<?php

/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */
/* geoip.inc
*
* Copyright (C) 2007 MaxMind LLC
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

define("GEOIP_COUNTRY_BEGIN", 16776960);
define("GEOIP_STATE_BEGIN_REV0", 16700000);
define("GEOIP_STATE_BEGIN_REV1", 16000000);
define("GEOIP_STANDARD", 0);
define("GEOIP_MEMORY_CACHE", 1);
define("GEOIP_SHARED_MEMORY", 2);
define("STRUCTURE_INFO_MAX_SIZE", 20);
define("DATABASE_INFO_MAX_SIZE", 100);
define("GEOIP_COUNTRY_EDITION", 106);
define("GEOIP_PROXY_EDITION", 8);
define("GEOIP_ASNUM_EDITION", 9);
define("GEOIP_NETSPEED_EDITION", 10);
define("GEOIP_REGION_EDITION_REV0", 112);
define("GEOIP_REGION_EDITION_REV1", 3);
define("GEOIP_CITY_EDITION_REV0", 111);
define("GEOIP_CITY_EDITION_REV1", 2);
define("GEOIP_ORG_EDITION", 110);
define("GEOIP_ISP_EDITION", 4);
define("SEGMENT_RECORD_LENGTH", 3);
define("STANDARD_RECORD_LENGTH", 3);
define("ORG_RECORD_LENGTH", 4);
define("MAX_RECORD_LENGTH", 4);
define("MAX_ORG_RECORD_LENGTH", 300);
define("GEOIP_SHM_KEY", 0x4f415401);
define("US_OFFSET", 1);
define("CANADA_OFFSET", 677);
define("WORLD_OFFSET", 1353);
define("FIPS_RANGE", 360);
define("GEOIP_UNKNOWN_SPEED", 0);
define("GEOIP_DIALUP_SPEED", 1);
define("GEOIP_CABLEDSL_SPEED", 2);
define("GEOIP_CORPORATE_SPEED", 3);

class GeoIP {
    var $flags;
    var $filehandle;
    var $memory_buffer;
    var $databaseType;
    var $databaseSegments;
    var $record_length;
    var $shmid;
    var $GEOIP_COUNTRY_CODE_TO_NUMBER = array(
"" => 0, "AP" => 1, "EU" => 2, "AD" => 3, "AE" => 4, "AF" => 5,
"AG" => 6, "AI" => 7, "AL" => 8, "AM" => 9, "AN" => 10, "AO" => 11,
"AQ" => 12, "AR" => 13, "AS" => 14, "AT" => 15, "AU" => 16, "AW" => 17,
"AZ" => 18, "BA" => 19, "BB" => 20, "BD" => 21, "BE" => 22, "BF" => 23,
"BG" => 24, "BH" => 25, "BI" => 26, "BJ" => 27, "BM" => 28, "BN" => 29,
"BO" => 30, "BR" => 31, "BS" => 32, "BT" => 33, "BV" => 34, "BW" => 35,
"BY" => 36, "BZ" => 37, "CA" => 38, "CC" => 39, "CD" => 40, "CF" => 41,
"CG" => 42, "CH" => 43, "CI" => 44, "CK" => 45, "CL" => 46, "CM" => 47,
"CN" => 48, "CO" => 49, "CR" => 50, "CU" => 51, "CV" => 52, "CX" => 53,
"CY" => 54, "CZ" => 55, "DE" => 56, "DJ" => 57, "DK" => 58, "DM" => 59,
"DO" => 60, "DZ" => 61, "EC" => 62, "EE" => 63, "EG" => 64, "EH" => 65,
"ER" => 66, "ES" => 67, "ET" => 68, "FI" => 69, "FJ" => 70, "FK" => 71,
"FM" => 72, "FO" => 73, "FR" => 74, "FX" => 75, "GA" => 76, "GB" => 77,
"GD" => 78, "GE" => 79, "GF" => 80, "GH" => 81, "GI" => 82, "GL" => 83,
"GM" => 84, "GN" => 85, "GP" => 86, "GQ" => 87, "GR" => 88, "GS" => 89,
"GT" => 90, "GU" => 91, "GW" => 92, "GY" => 93, "HK" => 94, "HM" => 95,
"HN" => 96, "HR" => 97, "HT" => 98, "HU" => 99, "ID" => 100, "IE" => 101,
"IL" => 102, "IN" => 103, "IO" => 104, "IQ" => 105, "IR" => 106, "IS" => 107,
"IT" => 108, "JM" => 109, "JO" => 110, "JP" => 111, "KE" => 112, "KG" => 113,
"KH" => 114, "KI" => 115, "KM" => 116, "KN" => 117, "KP" => 118, "KR" => 119,
"KW" => 120, "KY" => 121, "KZ" => 122, "LA" => 123, "LB" => 124, "LC" => 125,
"LI" => 126, "LK" => 127, "LR" => 128, "LS" => 129, "LT" => 130, "LU" => 131,
"LV" => 132, "LY" => 133, "MA" => 134, "MC" => 135, "MD" => 136, "MG" => 137,
"MH" => 138, "MK" => 139, "ML" => 140, "MM" => 141, "MN" => 142, "MO" => 143,
"MP" => 144, "MQ" => 145, "MR" => 146, "MS" => 147, "MT" => 148, "MU" => 149,
"MV" => 150, "MW" => 151, "MX" => 152, "MY" => 153, "MZ" => 154, "NA" => 155,
"NC" => 156, "NE" => 157, "NF" => 158, "NG" => 159, "NI" => 160, "NL" => 161,
"NO" => 162, "NP" => 163, "NR" => 164, "NU" => 165, "NZ" => 166, "OM" => 167,
"PA" => 168, "PE" => 169, "PF" => 170, "PG" => 171, "PH" => 172, "PK" => 173,
"PL" => 174, "PM" => 175, "PN" => 176, "PR" => 177, "PS" => 178, "PT" => 179,
"PW" => 180, "PY" => 181, "QA" => 182, "RE" => 183, "RO" => 184, "RU" => 185,
"RW" => 186, "SA" => 187, "SB" => 188, "SC" => 189, "SD" => 190, "SE" => 191,
"SG" => 192, "SH" => 193, "SI" => 194, "SJ" => 195, "SK" => 196, "SL" => 197,
"SM" => 198, "SN" => 199, "SO" => 200, "SR" => 201, "ST" => 202, "SV" => 203,
"SY" => 204, "SZ" => 205, "TC" => 206, "TD" => 207, "TF" => 208, "TG" => 209,
"TH" => 210, "TJ" => 211, "TK" => 212, "TM" => 213, "TN" => 214, "TO" => 215,
"TL" => 216, "TR" => 217, "TT" => 218, "TV" => 219, "TW" => 220, "TZ" => 221,
"UA" => 222, "UG" => 223, "UM" => 224, "US" => 225, "UY" => 226, "UZ" => 227,
"VA" => 228, "VC" => 229, "VE" => 230, "VG" => 231, "VI" => 232, "VN" => 233,
"VU" => 234, "WF" => 235, "WS" => 236, "YE" => 237, "YT" => 238, "RS" => 239,
"ZA" => 240, "ZM" => 241, "ME" => 242, "ZW" => 243, "A1" => 244, "A2" => 245,
"O1" => 246, "AX" => 247, "GG" => 248, "IM" => 249, "JE" => 250, "BL" => 251,
"MF" => 252
);
    var $GEOIP_COUNTRY_CODES = array(
"", "AP", "EU", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ",
"AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH",
"BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA",
"CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU",
"CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG",
"EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "FX", "GA", "GB",
"GD", "GE", "GF", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT",
"GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN",
"IO", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM",
"KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS",
"LT", "LU", "LV", "LY", "MA", "MC", "MD", "MG", "MH", "MK", "ML", "MM", "MN",
"MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA",
"NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA",
"PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY",
"QA", "RE", "RO", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI",
"SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD",
"TF", "TG", "TH", "TJ", "TK", "TM", "TN", "TO", "TL", "TR", "TT", "TV", "TW",
"TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN",
"VU", "WF", "WS", "YE", "YT", "RS", "ZA", "ZM", "ME", "ZW", "A1", "A2", "O1",
"AX", "GG", "IM", "JE", "BL", "MF"
);
    var $GEOIP_COUNTRY_CODES3 = array(
"","AP","EU","AND","ARE