Michail
по гео ай-пи допустим китай при нажатие в галере на мувик или пиксу редиректился на мой другой ресурс ?
или как лучше сделать ...нужен совет
заметил сегодня на домене 192 GB из них 90% китай
на домене один блог и штук 5-10 фрих обычно 5-10 GB было ))
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>
или же можно реврайтом мутить
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 вносятся коды нежелательных стран.
CraZ
у меня эти ляо-пидарасы как то 1ТБ сожрали на виртуале при лимите 120гиг... хорошо Ivango пошёл мне на уступки. Ну блять вот недавно 500 Гиг сожрали, оказывается хотлинк после первого случая был врублен для картинок *.jpg а у меня ещё и *.JPG были, так что во второй раз пришлось платить
![icon_sad.gif](/template/images/smiles/icon_sad.gif)
будь те бдительны.