Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Можно ли так редиректить
цитата
20/03/08 в 23:15
 Michail
по гео ай-пи допустим китай при нажатие в галере на мувик или пиксу редиректился на мой другой ресурс ?

или как лучше сделать ...нужен совет

заметил сегодня на домене 192 GB из них 90% китай

на домене один блог и штук 5-10 фрих обычно 5-10 GB было ))
цитата
21/03/08 в 00:27
 geCTP
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Order Deny,Allow
Deny from env=BlockCountry
ErrorDocument 403 http://other.site

Коды обозначения стран можно посмотреть здесь:
http://www.maxmind.com/app/iso3166

это если всё редиректить, если только пиксы, то надо взять в теги к примеру
<FilesMatch "\.(gif|jpe?g)$">
...
</FilesMatch>

или же можно реврайтом мутить
цитата
21/03/08 в 00:39
 sydoow
А здесь не токо коды стран, а еще их айпишиники всех стран
ipmaster.org/ranges.php
цитата
21/03/08 в 18:22
 Corex
В дополнение к тому, что написал geCTP, если вдруг модуль GeoIP не установлен на Апач, так бывает, можно решить через PHP - скачать mysql-базу с http://www.ip2nation.com и использовать примерно такой код:

Код:
<?php

function get_user_ip()
{
   if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
   {
      $userip = $_SERVER['HTTP_X_FORWARDED_FOR'];
   }
   else if(isset($_SERVER['HTTP_CLIENT_IP']))
   {
      $userip = $_SERVER['HTTP_CLIENT_IP'];
   }
    else if(isset($_SERVER['REMOTE_ADDR']))
   {
       $userip = $_SERVER['REMOTE_ADDR'];
   }
   else
   {
      $userip = NULL;
   }
   if (($userip == "") || ($userip == "unkown"))
   {
      $userip = NULL;
   }
   if (!preg_match("/^[0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}$/", $userip))
   {
      return NULL;
   }
   return $userip;
}

$bad_countries = array("cn", "ke", "in");
$redirect_uri = "http://www.google.com";
$server   = 'localhost'; // MySQL hostname
$username = '123'; // MySQL username
$password = '321'; // MySQL password
$dbname   = 'mydb'; // MySQL db name

$user_ip = get_user_ip();
if($user_ip != NULL)
{
   $db = mysql_connect($server, $username, $password) or die(mysql_error());
   mysql_select_db($dbname) or die(mysql_error());

   $sql = 'SELECT country FROM ip2nation WHERE ip < INET_ATON("'.$user_ip.'") ORDER BY ip DESC LIMIT 0,1';
   list($country) = mysql_fetch_row(mysql_query($sql));
   mysql_close($db);

   if(in_array($country, $bad_countries))
   {
      header("Location: $redirect_uri");
   }
}
else
{
   header("Location: $redirect_uri");
}
header("Location: $requisted_file"); // если запрос файла
die;

?>


Можно проставить ссылки на мувисы/пиксы вида chk.php?file=../movs/sc1/vid02.wmv или подключать скрипт в начало выполняемого файла (сидж/блог).

В массив $bad_countries вносятся коды нежелательных стран.
цитата
21/03/08 в 18:30
 CraZ
у меня эти ляо-пидарасы как то 1ТБ сожрали на виртуале при лимите 120гиг... хорошо Ivango пошёл мне на уступки. Ну блять вот недавно 500 Гиг сожрали, оказывается хотлинк после первого случая был врублен для картинок *.jpg а у меня ещё и *.JPG были, так что во второй раз пришлось платить icon_sad.gif будь те бдительны.


Эта страница в полной версии