_gibson_

Рейтинг
90
Регистрация
11.07.2008

пишите в асю 4555962

1. Узнаём IP-адрес посетителя:

IP хранится в суперглобальном массиве $_SERVER;

пример:

$ip = $_SERVER['REMOTE_ADDR'];

2. Пишем функцию whois:

function whois($ip) {

if ($ip!="") {

$sock = fsockopen ("whois.ripe.net",43,$errno,$errstr);

if ($sock) {

fputs ($sock, $ip."\r\n");

while (!feof($sock)) {

$str.=trim(fgets ($sock,128)." <br>");

}

}

else {

$str.="$errno($errstr)";

return;

}

fclose ($sock);

}

return $str;

}

получаем whois-данные для нашего IP

пример:

$whois = whois($_SERVER['REMOTE_ADDR']);

3. Выдираем с помощью регулярных выражений данные о стране

Тут уже может быть куча способов, для примера вот этот:

$need = "country:";

$pos = strpos($whois,$need);

$search = substr($whois,$pos,18);

$excount = explode(":", $search);

$country = trim($excount[1]); //готово

"$country" содержит значение страны IP-адреса.

Значение в формате: RU, UA, US, TJ...

4. Что делать? Примеры

Запрет посетителей с USA:

if($country == "US") {

echo "Your IP banned! He-he...";

// header('Location: тут ссылка');

exit();

}

http://s30101705699.mirtesen.ru/blog/43113081455

подправил, где надо

плюсы:

легко + гео ип не нужен

минусы

лишние запросы (скорость загрузки) тут все зависит уже от канала

Сделаю за 500 рэ. Для связи 4555962

2 nightwolf сколько предлагали?

правилами запрещается, вроде, создавать темы без цены работы.

Проблема в БД. Стучите помогу 4555962

можите стучать, для связи ICQ 4555962

Сейчас фри хосты больше предлагают

Свободен для заказов

а что через песочницу нельзя опубликовать?

так же готов взяться за работу, для связи 4555962

Всего: 705