Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   ЗА помошь по PHP - Даю шоху! (https://forum.antichat.xyz/showthread.php?t=154178)

kiborgg 06.11.2009 00:32

ЗА помошь по PHP - Даю шоху!
 
Необходимо определять пользователь каторый зашол на сайт из РУ или нет.

mr.The 06.11.2009 01:00

_ttp://www.maxmind.com/app/php

примеры там же. шоху ненадо.

Deathdreams 06.11.2009 01:01

PHP код:


<?

$ip 
getenv('REMOTE_ADDR');
$content = @file_get_contents('http://ipgeo-base.ru/?address='.$ip.'&search=%C8%F1%EA%E0%F2%FC'); 

if(
strpos($content"Санкт-Петербург")){

echo 
'из питера';

}else{

echo 
' не из питера';

}

?>

Работает

Redwood 06.11.2009 02:49

Через Remote Addr получаешь ип и через file get contents c сайта его парсишь и выводишь результат, например отсюда http://smart-ip.net/tools/geoip

kiborgg 06.11.2009 10:49

Цитата:

Сообщение от Redwood
Через Remote Addr получаешь ип и через file get contents c сайта его парсишь и выводишь результат, например отсюда http://smart-ip.net/tools/geoip


Можеш написать?

qW1zer 06.11.2009 10:51

А если есть возможность то качаешь либу geoip и подключаешь к серверу,и все отлично работает!

kiborgg 06.11.2009 11:09

Возможность есть. Можешеш помоч реализовать? Или пример покажи.

qW1zer 06.11.2009 11:12

К сожалению примера живого сейчас нет,но ссылка осталась:
http://pecl.php.net/package/geoip
Там и мануал где-то был!

kiborgg 06.11.2009 11:59

PHP код:

<?php
include("geoip.inc");
$gi geoip_open("./GeoIP.dat",GEOIP_STANDARD);
$ip getenv("REMOTE_ADDR");
$code geoip_country_code_by_addr($gi$ip);
geoip_close($gi);

if(
$code == "RU")
{ echo 
"<script>document.location='http://www.mail.ru'</script>";}
?>

Рабочий вариант=)

mailbrush 06.11.2009 12:03

Цитата:

Сообщение от kiborgg
PHP код:

<?php
include("geoip.inc");
$gi geoip_open("./GeoIP.dat",GEOIP_STANDARD);
$ip getenv("REMOTE_ADDR");
$code geoip_country_code_by_addr($gi$ip);
geoip_close($gi);

if(
$code == "RU")
{ echo 
"<script>document.location='http://www.mail.ru'</script>";}
?>

Рабочий вариант=)

Не везде модуль geoip стоит :)
PHP код:

<?php

function CheckIP()
{
    
$ch curl_init('http://api.hostip.info/get_html.php?ip='.$_SERVER['REMOTE_ADDR']);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$res curl_exec($ch);
    if (
preg_match('#Country: RUSSIAN FEDERATION (RU)#i'$res$matches))
        return 
true;
    else
        return 
false;
}

if(
CheckIP())
{
    echo 
'Превед медвед, ты из России.';
}
else
{
    echo 
'Форбидден, акцесс тока русским.';
}

?>



Время: 20:55