Роскомсос - скрипт для определения IP госорганов

wi1920

wi1920

New Member
С обновлением там кстати засада. Всё забываю сказать
строчку if (!is_file($file)) // or (filemtime($file) < (time() + $this->time_update * 24 * 3600))
следует заменить на if (!is_file($file) or filemtime($file)+ $this->time_update * 24 * 3600 < time())
имхо
 
wi1920

wi1920

New Member
И кстати старая версия класса roscomsos не работает с новой версией файлов-списков ip.
А точнее с новым файлом gosip.data.
FALSE всё время на выходе. Будьте внимательны.
 
Последнее редактирование:
Master

Master

Модератор
Спасибо, учтем замечания в следующей версии.
 
Master

Master

Модератор
А точнее с новым файлом gosip.data.
Обновил файлик gosip.txt по вашему списку.
Выходит, Роскомнадзор использует прокси для проверки удаления информации. Что лишено смысла, ведь администратор может ограничить просмотр страницы только с России, как это делает Вконтакте, Луркморе и другие крупные сайты.
А прокси нам будет сложно их ловить.
 
R

r_4

New Member
antirkn.ru
эети ребята делают тоже самое но за деньги?
или вообще забрали вашу идею...
 
moder

moder

Администратор
Команда форума
или вообще забрали вашу идею...
Судя по картинке
Роскомсос - скрипт для определения IP госорганов


Вдохновлялись они явно с нас.

Скорее всего используют наш комплекс, может со своими доработками, но за деньги. Плюс еще накидали понтов с "интеллектуальной системой", что доверия не внушает. Да и цены у них кусаются. А вы как нашли этот сайт?
 
R

r_4

New Member
От знакомого. Список IP у них побольше будет, хз мот мониторят как-то
 
moder

moder

Администратор
Команда форума
От знакомого. Список IP у них побольше будет, хз мот мониторят как-то
Больше, чем этот?
Откуда знаете про список, я его на сайте не нашел. Пользуетесь их услугами за 7000+5000 р. в месяц с установкой?
 
moder

moder

Администратор
Команда форума
Скорее всего этот сервис ваш. Потому что, если вы клиент, и имеете возможность скачать список - зачем они вам нужны? Ради обновлений? А откуда вы знаете, что они в этот список не просто левых адресов накидали. Вот приведите пример IP ркн, которого нет в нашем списке.
Короче, не слишком умно, но с пивом прокатит. Разводите дурачков, все равно на 90% они патриоты Путина и одобряют цензуру, мы вам мешать не будем, но и сюда не суйтесь.
 
R

r_4

New Member
именно ради обновлений. дело в том что я вообще не знаю рабочая их схема или ваша. чей список IP более полный и обновляемый. я хз. если с ними не прокатит, приду буду ваш пробовать. а сообщение выше удалите (я бы и сам, но чет походу нельзя). реально как реклама получается, а рекламировать их пока не за что.
 
moder

moder

Администратор
Команда форума
Мы не против рекламы, лишь предупреждаем, что это может быть мошенничество. А выше вы сказали что их список более полный, спалились, я считаю.
Логично было бы наоборот сначала пробовать бесплатный, а потом платный. И пример хотя бы одного IP рнк, которого нет в нашей базе, жду. Думаю, они не обидятся, тем более, что своровали у нас фоточку.
 
R

r_4

New Member
По поводу мошенничества - есть такое дело, вполне может быть... время покажет
Просто я на них нарвался раньше вас, так бы, конечно, пробовал бы сразу платный. но уже поздно

вот что у них в конце списка
||95.84.160.0-95.84.186.255||95.143||95.143.220.0-95.143.221.255||
а ссылку реально удалите, я не рекламировать их пришел. а узнать что лучше.
 
moder

moder

Администратор
Команда форума
вот что у них в конце списка
||95.84.160.0-95.84.186.255||95.143||95.143.220.0-95.143.221.255||
Так это наш список и наша технология, для более быстрой проверки IP. Просто взяли наш бесплатный скрипт, сделали сайт и продают его за 5000 р. (плюс 7000 р. установка). Наглость, как говорится, второе счастье.
Но лично я не против, чтобы дураков окучивали, из-за них все наши проблемы с цензурой да и в остальном. Из-за легковерных дураков, которые верят сначала Путину и Кисилеву с телевизора, потом подобным мошенникам.
 
Последнее редактирование:
M

m777

New Member
Благодарю!
Заинсталлил.
Будем посмотреть, какой даст эффект.

была проблема вот с этим:
PHP:
$Roscomsos=new Roscomsos();
Шторм ругался всё время на отсутствие $ip...

Плюс, если вы юзаете Клаудфлаир, то IP нужно получать так:
PHP:
$_SERVER['HTTP_X_FORWARDED_FOR']
 
N

netcenzure222

Member
$_SERVER['HTTP_X_FORWARDED_FOR']
А если я туда запишу "666.666.666.666"? :p
Если уж брать ip, то из HTTP_CF_CONNECTING_IP, предварительно проверив, что запрос исходит от их сервера:

PHP:
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']) and filter_var($_SERVER['HTTP_CF_CONNECTING_IP'], FILTER_VALIDATE_IP)) {
    $memcacheD = new Memcached;
    $memcacheD->addServer('localhost', 11211);

    $cfips = $memcacheD->get('cloudflare_iplist');
    if(empty($cfips)){
        $c = file_get_contents('https://www.cloudflare.com/ips-v4');
        $cfips = preg_split("#[\r\n]+#u", $c);
        if(!empty($cfips)){
            $memcacheD->set('cloudflare_iplist', $cfips, 3600 * 4);
        }
    }

    if(!empty($cfips)){
        foreach($cfips as $range){
            if(cidr_match($_SERVER['REMOTE_ADDR'], $range)){ // если ip принадлежит CloudFlare
                $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
                break;
            }
        }
    }
}
Подразумевается, что Memcached установлен, если хостинг не позволяет его активировать, тогда кэш придётся держать на диске. Писал на скорую руку, конечно же
надо заменить file_get_contents на curl и сделать обработку исключений, но это уже каждый сам пусть допиливает для себя.

Чуть не забыл, cidr_match с небольшими поправками:

PHP:
function cidr_match($ip, $range)
{
    $e = explode('/', $range);
    if (empty($e[1])) {
        if ($ip === $range) { // если указан один ip, а не диапазон
            return true;
        }
       
        $ips = explode('-', $range);
        if(!empty($ips[1])){    // если диапазон
            $ip_long = sprintf("%u", ip2long($ip));
            $ip_long_start = sprintf("%u", ip2long($ips[0]));
            $ip_long_end = sprintf("%u", ip2long($ips[1]));
            return ($ip_long >= $ip_long_start and $ip_long <= $ip_long_end);
        }
    } else { // если CIDR
        list ($subnet, $bits) = $e;
        $ip_long = ip2long($ip);
        $subnet = ip2long($subnet);
        $mask = -1 << (32 - $bits);
        $subnet &= $mask;
        return ($ip_long & $mask) == $subnet;
    }
    return false;
}
 
Последнее редактирование:
moder

moder

Администратор
Команда форума
А если я туда запишу "666.666.666.666"? :p
Не понял, а как вы туда запишите, это же Клоудфларе передает.

За скрипт спасибо, надо будет обновить.
В принципе еще можно кешировать проходящие (не госструктур) IP, это будет быстрее, чем даже проверка по двум байтам. Поэкспериментирую позже насколько быстрее и добавлю в настройки возможность кэширования.
 
E

eLmore

New Member
Обновите url загрузки, архив пропал куда-то.
 
D

Diplom-at

New Member
Где не идиоты сидят в Роскомнадзоре? )
Закон и впрямь идиотский... какой смысл в нем, один хрен все делается на лету, меняются домены айпи... псы клеят и все по новой.. единственное что молодые несерьезные сайты отваливаются.. те которыми не занимаются.... а тааак
 
Последнее редактирование модератором:
moder

moder

Администратор
Команда форума
5.3.232.189 - это Новосибирск.
Остальные московские, если верить Geoip.
Для просмотра содержимого вам необходимо авторизоваться.

Думаю, все вышеперечисленные можно смело в список заносить. А новосибирские там уже были.
 
D

Diplom-at

New Member
Сори за флуд, не хватает одного сообщения что бы посмотреть список ))
 
fenix6390

fenix6390

New Member
Здравствуйте!

Столкнулся с проблемой после установки roscomsos

сайт на джумле 3.6.2

пишет выше шапки после установки

Warning: Missing argument 1 for Roscomsos::__construct(), called in /var/адрес/адрес/адрес/шаблон/index.php on line 21 and defined in /var/адрес/адрес/адрес/roscomsos/roscomsos.php on line 20

понял ток что с аргументом проблема, в написании и чтении строк у меня совсем грустно ) люди добрые подсобите советом )

p.s. добавлял строки которые в инструкции, в index.php который в шаблоне.
 
moder

moder

Администратор
Команда форума
Отключите ошибки или обновите файл
Код:
    public function __construct($ip=false) 
    {
        $this->d = $_SERVER['DOCUMENT_ROOT'].'/roscomsos/'; 
        if ($ip) $this->ip=$ip;
    }
Аргумент $ip вообще там лишний, в новой версии уберем.
 
Сверху