G-and-Y

G-and-Y
Рейтинг
197
Регистрация
29.06.2013
18572d

Еще доработан

<?php
//массив айпишников
$ip_array = array(
'31.135.208.0/21',
'37.110.208.0/21'
);

//текущий ИП-адрес посетителя
$cur_ip_adrr = $_SERVER['REMOTE_ADDR'];

$flag = false;

// функция проверки айпишников

function IP_match($addr, $cidrs)
{
if(!is_array($cidrs)) $cidrs = array($cidrs);
foreach($cidrs as $cidr)
{
if (strpos($cidr, "/")) // Для записей типа 82.208.77.243/32
{
list($ip, $mask) = explode("/", $cidr, 2);
if (strpos(".", $mask)) $mask = 0xffffffff & ip2long($mask);
else $mask = 0xffffffff << 32 - (int)$mask;
if((ip2long($addr) & $mask) == (ip2long($ip) & $mask)) return true;
}
else if (strpos($cidr, "-")) // Для записей типа 82.208.77.243-85.95.168.249
{
list($ip_1, $ip_2) = explode("-", $cidr, 2);
if (((ip2long($ip_2) > ip2long($ip_1)) && (((ip2long($addr) - ip2long($ip_1)) >= 0) && (( ip2long($ip_2) - ip2long($addr)) >= 0))) || ((ip2long($ip_2) < ip2long($ip_1)) && (((ip2long($addr) - ip2long($ip_1)) <= 0) && ((ip2long($ip_2) - ip2long($addr)) <= 0))) || ((ip2long($ip_1) == ip2long($ip_2)) && (ip2long($ip_1) == ip2long($addr)))) return true;
}
else if ($addr === $cidr) return true; // Для одиночных IP
}
return false;
}

//проверяем текущий айпишник со списком
foreach($ip_array as $cur_cidr)
{
if(IP_match($cur_ip_adrr, $cur_cidr)) $flag = true;
}

if ($flag == false)
{
echo "Not so fast! You are not from! Your ip: ".$_SERVER['REMOTE_ADDR']; // пускать нельзя, сюда пишем переадресацию
}
else
{
echo "All right! You are from! Your ip: ".$_SERVER['REMOTE_ADDR']; // всё ОК, отрисовываем код реги
}
?>

Залить все файлы себе на хост(если много весят можно и так оставить) и монетизировать даунлоад пп.

Скинули, мож кому пригодицо

Подправил, теперь работает. Только одно но - диапазон айпишников проверяет по последней маске, т.е. 127.0.0.1/5 - он проверит все айпи от 127.0.0.1 до 127.0.0.5, поэтому если необходимый диапазон лежит в последних 2-х масках - 127.0.0.1-127.0.2.55 надо будет вбивать в массив:
127.0.0.1/255,
127.0.1.1/255,
127.0.2.1/55
В будущем можно будет доработать.
Код:
<?php
//массив айпишников, можно сделать подтягивание из файла, чтоб руками тут не править постоянно
$ip_array = array(
'127.0.0.0/16',
'192.168.0.1/58',
);

//текущий ИП-адрес посетителя
$cur_ip_adrr = $_SERVER['REMOTE_ADDR'];

$flag = false;

// функция проверки айпишников
function testIP($ip, $cidr){
list($net, $mask) = explode('/', $cidr);
list($a1, $a2, $a3, $a4) = explode('.', $net);
for($i = $a4; $i <= $mask; $i++){
if ($ip == ($a1.'.'.$a2.'.'.$a3.'.'.$i))
return true;
}
}

//проверяем текущий айпишник со списком
foreach($ip_array as $cur_cidr)
{
if(testIP($cur_ip_adrr, $cur_cidr)) $flag = true;
}

if ($flag == false)
{
echo "not so fast! "; // пускать нельзя, сюда пишем переадресацию
}
else
{
echo "all right!"; // всё ОК, отрисовываем код реги
}
?>

internetbs.net

my.ru-tld.ru

Лучше нет!

Та если б не их домен съехал бы давно...

internetbs.net пока все адекватно и не дорого, но акций на трансф. наверно нет.

Сколько вы платите за этот чудо хостинг?

У меня пару недель назад иногда создаал нагрузку на впс яндекс-бот, помогло Crawl-Delay 0.1 в robots.txt

G-and-Y, надолго ли? )

Больше ошибок не допущу, даже ужесточу доступ бота.

bdfyjd

Толку-то? Позиции-то просели.

Помалу возвращаются.

Последняя проверка сайта не выявила ссылок на файлы с добавленным программным обеспечением.
В результатах поиска сайт выводится без пометок.

Гуляем 🍻

Здравствуйте, Платон Щукин!

На сайте уже 3 дня нету кодов, по идее жалоб не должно быть, подскажите сколько еще ждать?

Ответ

Здравствуйте.

В случае, если нарушение не повторится, пометка в результатах поиска исчезнет в течение месяца. Процесс полностью автоматизирован, ускорить его, к сожалению, нельзя.

От так от, теперь метки еще ЖЁСТЧЕ.

Всего: 1645