Привет всем! В связи с ростом блокировок, в том числе необоснованных, сайтов со стороны государства, вашему вниманию предлагается описание идеи, а также прототип настроек сайта, защищенного от блокировок по конкретному пути и доменному имени. Идеи по защите от блокировок:
- со звездочкой
- по адресу IP
будут изложены в других постах. Кому интересна тема, заходите под кат.
Ссылка
https://github.com/http-abs/http-abs/
Описание идеи
Принцип защиты заключается в том, что каждый пользователь получает уникальную пару из индивидуального (под)домена и префикса пути для просмотра сайта. Назовем эту пару идентификатором агента.
Если по каким-то причинам, вы можете управлять только ограниченным набором поддоменов, пользователь будет конечно, разделять свой поддомен с некоторыми другими пользователями.
Как это защитит от блокировки?
- Если блокировка ограничивается путем и/или точным доменом, то отправив заявку на блокировку такого пути и/или домена, оператор блокировок заблокирует только свой собственный доступ, не затрагивая интересов других пользователей.
Конечно, в случае ограничения, указанного выше, жизнь станет сложнее у тех пользователей, которым не повезло разделить поддомен с оператором блокировок. Но не сильно.
- Когда и если вы, как администратор сайта, обнаружите блокировку, вы можете исключить (допустим, заменить на котиков) выдачу спорного материала по данному адресу: это никак не повлияет на выдачу того же материала другим пользователям.
При условии предыдущего примечания.
- Локальная замена контента даст вам возможность попытаться исключить ссылку из списка блокировок, избегая например тотальной блокировки по доменному имени.
А как же тогда делиться ссылками?
Легко. Идентификатор агента, выделенный пользователю для просмотра сайта, сохраняется у него в куках. Пользователь просто делится ссылкой из адресной строки.
- Если у пользователя еще нет соответствующей куки, переход по ссылке, содержащей чужой идентификатор, инициирует процесс выделения нового идентификатора агента, с редиректом на индивидуальный URL просмотра материала, включающий в себя этот идентификатор.
- Если у пользователя уже есть кука с идентификатором агента, переход по ссылке, содержащей чужой идентификатор, инициирует редирект на индивидуальный URL просмотра материала для данного пользователя, с его собственным идентификатором.
А зачем сохранять куку?
Чтобы изолировать оператора блокировок. Если повезет, после нескольких блокировок, его можно будет даже идентифицировать.
Не усложнит ли это жизнь пользователю?
Ничуть, от него не требуется в буквальном смысле ничего. Он заходит на сайт обычным образом, читает материалы и делится ссылками. В его жизни меняется только вид адресной строки.
Усложнит ли это жизнь разработчику сервера?
Возможно. Ему не придется учитывать префикс пути и поддомен, входящие в идентификатор агента: их будет обрезать обработчик на первой стадии обработки входящего URL. Однако, чтобы сделать процесс совершенно прозрачным, возможно придется еще потрудиться.
Сможет ли оператор блокировок обойти изоляцию?
Конечно. Но ему будет гораздо труднее доказывать необходимость блокировки бесконечного количества ссылок на материал, сформированных по замысловатому правилу, при том, что правила могут и измениться на еще более замысловатые.
Оператор просто заблокирует все нафиг со звездочкой и адресом IP
Такое развитие событий не исключено, но эти случаи я хочу рассмотреть отдельно в другой статье. Возможно, мы с вами вместе придумаем что-то дополнительно в комментариях.
Реализация
Архитектура
Для того, чтобы сделать процесс максимально прозрачным, код сосредоточен в сервере фронтенда nginx
. Это позволяет ставить под защиту самые разнообразные прикладные серверы практически без ограничений.
Поскольку обработка запроса будет весьма нетривиальной, использован дополнительный пакет libnginx-mod-http-lua
, внедряющий язык lua
в процесс обработки запросов под nginx.
Дополнительные условия
В идеале, обработка должна производиться так, чтобы бакенд (аплинк, прикладной сервер) — вовсе не был озабочен тем, поставили ли его под защиту. Ему приходят запросы по URL, из которого убраны все элементы идентификатора агента (назовем такие чистыми URL). Чтобы не переделывать возвращаемые страницы, переход по чистому URL с установленной кукой идентификатора агента, вызывает редирект на индивидуальный URL.
Фронтенд не хранит состояние нигде, кроме куки идентификатора агента.
На браузере не задействовано ни одной строки кода javascript. Используется только протокол HTTP.
Ограничения альфа-реализации
Фактически, реализован лишь proof-of-concept, позволяющий наблюдать реальную работу алгоритма. Не решено множество деталей, связанных с упаковкой продукта: модульность, выделение и проверка параметров и так далее.
Для поддоменов, выбрана схема с фиксированным набором поддоменов, пригодная для использования в паре с файлом hosts
, без инсталляции дополнительного сервера DNS.
Формат префикса пути предопределен и представляет из себя 32 цифры по основанию 16.
Установленные параметры запуска
Параметры запуска установлены пока прямо в коде.
Набор поддоменов (a, b, c) установлен в переменной и может быть расширен.
Домен установлен, как example.com
.
Бакенд ожидается на точке http://127.0.0.1:8000
Выводы
Растущая угроза внезапных блокировок заставляет готовиться заранее и изобретать методы защиты от них владельцев даже вполне лояльных сайтов. Такая защита вполне возможна, не требует никаких телодвижений со стороны пользователя и может быть реализована вполне скромным объемом усилий со стороны администратора сайта.
Комментарии (67)
firk
12.12.2017 21:03+1А они там все такие идиоты и не заметят ничего.
Оператор просто заблокирует все нафиг со звездочкой и адресом IP
Такое развитие событий не исключено, но эти случаи я хочу рассмотреть отдельно в другой статье. Возможно, мы с вами вместе придумаем что-то дополнительно в комментариях.По-моему, оно не "не исключено" а оно очевидно. И никаких новых законов или подзаконных актов для этого не нужно.
А вот поисковикам вы сильно помешаете вас адекватно индексировать этой защитой.
CityCat4
13.12.2017 06:01Оператор просто заблокирует все нафиг со звездочкой и адресом IP
Оператор просто нафиг разделегирует домен — ну в смысле направит регистратору запрос на разделегирование домена. Да, скажете, можно взять домен не в .ru/.su/.рф Можно. Тогда оператор расторгнет Вам договор с хостером, если он российский или заблокирует хостера, если нет.
Но что самое вероятное, он даже морочиться не будет, особенно если IP известен. К Вам просто приедут и поговорят. Уж сколько раз твердили миру — «там» сидят люди, мыслящие другими категориями. У них нет таких познаний в ИТ, у большинства, зато есть познание в том, как человека вычислить и как его убедить перестать делать то, что он делает.
Я Вам не пугаю. И даже не предупреждаю. Мне на самом деле все равно :) Если данный «метод» будет реализован — какое-то время на Вас будет распространяться «принцип защиты Неуловимого Джо» — пока он не наберет статистически значимую массу. А потом однажды произойдет то, о чем я уже сказал. Паяльник в.опе — очень веский аргумент в любом споре…9660
13.12.2017 06:12Но что самое вероятное, он даже морочиться не будет, особенно если IP известен. К Вам просто приедут и поговорят.
Простое любопытство.
Вот ящик хостится у какого либо Хетцнера или типа того. Чей IP им известен? К кому они, собственно, приедут для поговорить?avost
13.12.2017 12:43Очевидно, к тому, кто полезет в админку. Или к владельцу домена. Да мало ли грабель, на которые наступит дилетант в процессе обеспечения работоспособности такого сайта…
9660
13.12.2017 13:02Ну если речь о дилетанте то да, вопросов нет.
А про админку или владельца домена даже не смешно.avost
14.12.2017 14:15Ну если речь о дилетанте то да, вопросов нет.
Судя по статье, речь именно о дилетанте.
А про админку или владельца домена даже не смешно.
Ну, вы пока не давали повода усомниться в вашей великой компетентности, я в ней и не сомневаюсь, возможно, вы действительно неуязвимы, однако errare humanum est и что касается админки, достаточно вспомнить историю Ужжасного Пиррата Робертса, который прокололся с админкой, несмотря на всю свою паранойю и то, что ему, в общем-то, было что терять, а не просто поиграться в прятки с роскомпозором.
Ghool
16.12.2017 14:17Ну, с такой логикой вообще ничего можно не делать.
firk
16.12.2017 16:47Вы поняли суть, правда не совсем точно её выразили. В плане "игры в прятки с роскомнадзорами и прочими ведомствами" действительно ничего делать не надо. Не согласны с политикой — меняйте политику, политическими методами.
zenkz
13.12.2017 02:01А мне кажется что единственный надёжный способ обхода блокировок — это mesh-сети или p2p сети. Т.е. когда все связаны со всеми и могут перенаправлять запросы, если прямой путь невозможен. Т.е. полоностью децентрализованная маршрутизация — возможно ещё и с выбором оптимального маршрута… В этом случае единственный способ заблокировать — отключить интернет полностью.
Shakhmin
13.12.2017 07:07Если на сайте "случайно" появился один материал, то заблокировать могут только этот материал (ссылку), при рецидивах, даже закрываемых иногда котиками, заблокируют домен и/или ip
Опять же у проверяющих не один компьютер и ещё есть телефоны — вам придется долго придумывать адекватное объяснение тому, что страница убрана не для всех
И как быть с теми, кто использует режим инкогнито?
А идея интересная как минимум в плане посмотреть, как будет на самом деле
Ghool
16.12.2017 14:19На данный момент ркн говорит «заблочьте эту ссылку» и тут всё будет выполненно. В принципе можно не геммороиться с отдельными поддоменами для каждого юзера — достаточно встроить в урль рандобный блок, который рандомизируется при каждом открытии.
sumanai
16.12.2017 15:19Когда ему это надоедает, то он присылает адрес домена, или ещё какую фигню, и блокируй как хочешь.
omgiafs
13.12.2017 07:43Пособие из разряда «Как жить с посторонним предметом в заднице».
Не жить с ним надо, а извлекать.tonissimo
13.12.2017 08:49Ага, в таком обществе, которое возвело ношение посторонних предметов в прямой кишке чуть-ли не в национальную идею, только потянешься извлекать (по-крайней мере из себя) — как обзовут маргиналом, предателем и педерастом. А уж соберешься пропагандировать массовое вытаскивание — так кто-нибудь обязательно религиозно оскорбится или вообще сочтет за экстремизм.
YetAnotherSlava
13.12.2017 19:09Тогда нужно писать статьи на тему «Тактические тренировки на свежем воздухе» и «Принудительный фандрайзинг».
tyomitch
13.12.2017 12:00Но ему будет гораздо труднее доказывать необходимость блокировки бесконечного количества ссылок на материал, сформированных по замысловатому правилу, при том, что правила могут и измениться на еще более замысловатые.
Они разве перед блокировкой кому-то что-то доказывают? Хоть иногда?nnseva Автор
13.12.2017 12:14Ну по крайней мере, в большом количестве случаев, источником блокировок являются суды, а они, опять же по наблюдениям за сложившейся практикой, пытаются соблюсти формальные процедуры. В частности, в таких процедурах пока не предусмотрена блокировка звездочкой и уж тем более, по какому-нибудь regex-у.
Конечно, блокировка звездочкой вовсю применяется, но это например, при желании можно оспорить. Не всегда получается, но во всяком случае, возможность есть.tyomitch
13.12.2017 12:45Да даже и без звёздочки: взгляните на antizapret.info/index.php?search=graniru и убедитесь, что необходимость блокировки бесконечного количества ссылок их нисколько не сдерживает.
nnseva Автор
13.12.2017 14:37> убедитесь, что необходимость блокировки бесконечного количества ссылок их нисколько не сдерживает
ну так и пусть себе не сдерживаются. Чем быстрее забьют реестр, тем лучше :)tyomitch
13.12.2017 15:29Кому лучше-то?
Я про то, что если условный судья Нижнегадюкинского райсуда весь свой рабочий день будет выносить постановления о блокировках ваших 100500 доменов, то его это нисколько не обломает. Наоборот: ему за это зарплату платят, а тут ещё и работа не бей лежачего.
При этом «доказывать необходимость блокировки» он не будет ни разу.nnseva Автор
13.12.2017 15:36открою секрет полишинеля, реестр блокировок имеет ограниченную длину, до которой он уже почти добрался, поэтому его недавно почистили аж вдвое. Адовое количество блокируемых ссылок очень быстро приведет к переполнению реестра.
sumanai
13.12.2017 16:31поэтому его недавно почистили аж вдвое
Можно узнать что удалили и по какому праву?
firk
13.12.2017 17:02+1Доработают чтобы снять эти ограничения, вот и всё. Да ещё и введут статью расходов провайдерам по внедрению нового формата.
Zanak
13.12.2017 12:01Я бы начал рассмотрение этой темы с того, что запрещают конкретный контент, а не сайт или страницу, и противодействие исполнению этого запрета может быть делом наказуемым.
А вот после этого, чисто как теоретическую задачу, можно рассматривать способ обхода блокировок на доступ к вашему или чужому ресурсу.
Вариант с печенкой, к стати, мне кажется не очень надежным из за того, что есть всякие антивирусы и адблоки. Более перспективным, мне видится логика, сходная с сокращалками url, когда посетитель видит только хешь сумму, а сервер умеет извлекать из нее, кто и к какой странице идет.nnseva Автор
13.12.2017 12:07Я исхожу из того, что противодействие (пока?) не является наказуемым, это подтверждается мнением юристов и практикой применения запретов.
Про «печенку» не понял. Что касается сокращалок, там будет сложнее обеспечить прозрачную работу всяких фокусов, связанных с исполнением javascript и анализом URL на стороне клиента. Но мысль богатая в том смысле, что оператору блокировок будет труднее понять, какую собственно ссылку он хочет заблокировать.Zanak
13.12.2017 12:25+1Я исхожу из того, что противодействие (пока?) не является наказуемым, это подтверждается мнением юристов и практикой применения запретов.
Текст самого закона не нашел, только в новостях, но вроде как, с 1 ноября этого года поисковики начнут напрягать по 500 — 700 килорублей, за неисполнение требования о блокировке отдельных ресурсов. А значит дойдут и до нас, со временем.
Про печенки — меня терзают смутные сомнения, что антивирусы, точнее adblock и аналоги могут их резать, и поэтому, была мысль, всю информацию держать непосредственно в url запроса, а чтобы неповадно было играться ручками — шифровать ее.
nnseva Автор
13.12.2017 15:00печенки
ах печеньки! в смысле cookies.
с 1 ноября этого года поисковики начнут напрягать по 500 — 700 килорублей
так поисковик — его же найти и напрячь легко, а за юзерами гоняться — себе дороже. Вон мелкософт попробовал погоняться за нелицензионной виндой. Не, конечно юрлиц он напряг. А домашние юзеры остались.
была мысль, всю информацию держать непосредственно в url запроса
Все на URL свалить не получится. Не, конечно можно просто тупо генерировать совсем случайную одноразовую пару поддомен-префикс или зашифрованную со случайной солью ссылку, но тогда нельзя будет отличить переход по ссылке, полученной со стороны, от перехода по ссылке, сгенерированной только что. Это приведет к тому, что некоторые сохраненные ссылки, например в том же поисковом сервисе или ссылка в популярном блоге, будут распространены гораздо шире и их блокировка окажется заметной для пользователей, которые их сохранили.
Когда же ссылки строго индивидуальны, блокировка индивидуальной ссылки оператора блокировки приведет только к самоблокировке оператора, без каких-либо последствий для остальных пользователей вообще.
sumanai
13.12.2017 16:40и их блокировка окажется заметной для пользователей, которые их сохранили.
Как я понял, предлагалось всю страницу запихать в URI, например, как картинку в base64. Хабрапарсер не умеет в base64, поэтому просто скопируйте это в адресную строку
Заголовок спойлераdata:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAvACEDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAYFBwgE/8QAMBAAAQIEBQIEBAcAAAAAAAAAAgMEAAUGEgEHEyIyERQIQlJiI0OiwiEzcoKTo7L/xAAYAQADAQEAAAAAAAAAAAAAAAABAwQAAv/EAB4RAAMAAgIDAQAAAAAAAAAAAAABAgMEESESIjFh/9oADAMBAAIRAxEAPwCqMrMvZbV0kdPX7t43USc6IChZbjtEvNEs4ytkij020sczRfTKw1SILLvZs3RM+HxUEKLmqqvAX32BD3LFWzWbgk4VSSAhEBEiifPlqF6lGviV12Vurk9K2qWCrteadt51UiEtP3W2xGV9llKKbpN1N2b5+uqkSWAirbaV5dPTGiDVYqtzQBduSvmS1d0VnnMFuWszAOAkgI/yjAwZXXVHWxhUdyZggggiklNCeH1MVqLmqZ8TeW/1DE477MimHcNku9ErNWE7JipZRT1EzNSbvkkC7y8ULviq7Q4jDPIMFa0lg1FKEjMBVMXzNAvjtj8p+4CG364RsQ6XKKdfIprii0ASYjqvmrZIlVR/Pt5RXWd5CeXUyswtG5D/AGEN8u1SYKqgk6EGyBKq6u8rAC/hCHm9MGTzLF0s0doLpLqpaZAp1u33Rxrz9bG7VrqUZrgggiohOxmI23Y+qLn8MFTBT2ZaTFwVrWcD2/6VflfcP7opVBxpDbiN0dTeYrNXCK7fqksiYKpEJcSGMY1/WtbTSicxF3dTO2QSNygqSKCKXXXTH5Xq1bvNxjIc6QxF67UwbKNEiVvSbqckwPcP0w5VFme8qmvWlSVFLmr3BnbosOKOACV1pfhuiIzMq3GsKtfzk2AsDeWEaWCmp0IQt5QEuBl15JP8E6CCCCLP/9k=
nnseva Автор
13.12.2017 17:05интересный способ, надо подумать, можно ли что-то с этим сделать интересное…
oxidmod
13.12.2017 17:13Нет, ибо длина урлы =)
Смотрите тогда уж в сторону п2п сайтов
geektimes.ru/post/284770
habrahabr.ru/post/112855
firk
13.12.2017 17:39Урл в котором закодированы данные = данные в спец.формате. То есть сохранить этот урл это то же самое что скачать файл по нему. Ну и вся дальнейшая логика (как касательно сохранности этих данных так и касательно возможности их заблокировать) опирается на этот факт.
Вот ещё ссылка на ту же тему https://habrahabr.ru/post/190202/
tyomitch
13.12.2017 17:52Проблема со ссылками внутри документа: каждая ссылка должна содержать внутри себя весь документ, на который ссылается? Так внутри одного урла придётся заключать весь интернет.
bekreyev
13.12.2017 12:07Каждый домен может ещё ссылаться на уникальный адрес IPv6.
nnseva Автор
13.12.2017 12:08Далеко не у всех клиентов есть v6, а предварительным условием является разумеется, работоспособность сайта для неподготовленного клиента: подготовленный уже имеет какие-никакие способы обхода и для него все эти извращения излишни.
ValdikSS
13.12.2017 12:12+2Описанный вами способ не работает. Он работает только теоретически, но в реальности спотыкается об особенности блокировок отдельных провайдеров и то, как запись добавят в реестр.
Например, Yota, Дом.ru, 2ком и некоторые другие провайдеры блокируют всю доменную зону, независимо от того, что находится на уровнях выше.
Пример: в реестре есть запись, блокирующая конкретный URL: http://putinhuylo.com/. На Yota не открывается и http://a.putinhuylo.com/
Судя по статистике blockcheck, 11-13% провайдеров блокируют по IP-адресу. Ваш способ не будет работать, будет одна wildcard-запись на все поддомены.
И третье — если бравые ребята из Роскомнадзора увидят сайт, который так себя ведет, они заблокируют его звездочкой. Им уже давно не нужно никакое юридическое обоснование для добавления записи в реестр.nnseva Автор
13.12.2017 13:32+1Для чистоты эксперимента, я поместил следующую запись в свой файл hosts:
217.112.35.75 125135.a.b.c.putinhuylo.com
(адрес взят у www.ru)
$ nslookup www.ru Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: www.ru Address: 217.112.35.75
Затем я обратился (с выключенными средствами антиблокировки, разумеется) к сайту 125135.a.b.c.putinhuylo.com и действительно, получил заглушку (провайдер ertelecom).
Таким образом, действительно, вызывающий раздражение у властей одним названием домен был заблокирован по рекурсивному глобу *.putinhuylo.com (что возможно, неправильно с точки зрения стандартов, но ожидаемо).
Аналогичным образом, заблокирован и домен kasparov.ru
С другой стороны, все не так плохо. Например данные записи блокируют несколько очевидным образом связанных друг с другом поддоменов домена olimp786f.top, без блокировки основного домена.
При этом, путем аналогичных манипуляций с файлом hosts, можно убедиться, что несмотря на блокировку этих поддоменов, другие поддомены домена olimp786f.top остаются не заблокироваными.
ValdikSS
13.12.2017 13:35Таким образом, действительно, вызывающий раздражение у властей одним названием домен был заблокирован по рекурсивному глобу *.putinhuylo.com (что возможно, неправильно с точки зрения стандартов, но ожидаемо)
Это и странно: нет никакой технической причины так делать. Блокировка подобным образом осуществлялась до того, как на домен добавили другие поддомены. Wildcard-запись на него добавили уже после блокировки, по моей просьбе, как раз для того, чтобы тестировать такое поведение.darkk
13.12.2017 16:20нет никакой технической причины так делать
Ну почему же. С этого всё и началось, кажется, пять лет назад, когда некоторые ISP просто добавили зону
youtube.com.
на рекурсоры :) Видимо, чтоб сwww.
не заморачиваться.
aamonster
13.12.2017 13:07Интернет-маркетологи рукоплещут: URL всегда позволяет найти, от кого пользователю пришла ссылка =).
Ну и какую ссылку вы будете давать поисковикам? Думаете, заблокируют не её?
nnseva Автор
13.12.2017 13:50Интернет-маркетологи рукоплещут: URL всегда позволяет найти, от кого пользователю пришла ссылка =).
Да, это один из сторонних эффектов. Однозначная идентификация запросов одного пользователя позволяет много всяких дополнительных штук. Не то, чтобы я рад этому, но не вижу здесь чего-то совсем уж плохого. По крайней мере, пользователь, не озаботившийся средствами обхода блокировок, вряд ли будет озабочен раскрытием собственных предпочтений.
Ну и какую ссылку вы будете давать поисковикам? Думаете, заблокируют не её?
Как я понимаю, блокировка осуществляется на основании визуального осмотра страницы. В этот момент, адресная строка будет содержать уже персонализированный URL вне зависимости от того, какая ссылка пришла из поисковика.
В то же время, до визуального осмотра, ссылка на странице поисковика содержит опять же, не сохраненную в поисковике ссылку, а на счетчик кликов самого поисковика.
Таким образом, ссылка, сохраненная в поисковике, будет промежуточной в цепочке редиректов, выполняемых агентом оператора блокировок. Конечно, ее можно поймать, но далеко не таким очевидным образом, как представляется.
ghost404
13.12.2017 23:10Если добавить к этому несколько доменов второго уровня, то получится неплохая защита для распространения нелегального контента.
Собственно вирусы так и распространяются.nnseva Автор
14.12.2017 08:52К сожалению, куки имеют ограничение, приводящее к невозможности обмена куками между разными доменами второго уровня. Обмен куками между доменами третьего уровня — возможен.
Не имея возможности обмена куками, мы не сможем (штатными средствами) распознать повторный вход агента оператора блокировок на альтернативный домен и правильным образом редиректить его на его личный URL. Остается только использовать случвйный выбор домена второго уровня, что вероятно, приведет к быстрому исчерпанию пула доменов второго уровня.ghost404
14.12.2017 09:37Ну почему же нельзя куки передавать. Можно. Ходы надо знать.
Думаете как SSO работает?
Просто придется переадресацию делать через js, а не через nginx.
А по хорошему куку передавать и не надо.
Один раз переадресовали и поставили куку на домен.
Если куки нет то запускаем ещё раз процедуру переадресацией.nnseva Автор
14.12.2017 10:12Я же написал — штатными. Насчет js — не очень хорошо, когда мидлварь вмешивается в страницу, это и существенно затратнее по ресурсам. Но да, я думал о таком варианте, в принципе, можно даже попробовать избежать вмешательства в страницу, плюс один редирект.
Без куки не получится закрепить домен за агентом, что приведет к быстрому перебору оператором блокировок всего пула доменов второго уровня.ghost404
14.12.2017 20:03JS это штатные средства, а решение кросбраузерное и всего в несколько строк кода.
В любом случае нужно на чем-то описать бизнес логику, а js, кроме всего прочего, позволяет проверить не заблокирована ли ссылка на которую будем делать редирект.
PS: блокировать ссылки могут ещё антивирусы
nnseva Автор
14.12.2017 23:28Было бы интересно взглянуть на решение с js-кукой. Исходники прототипа на житхабе, пулл реквесты приветствуются
investime
14.12.2017 23:19Хорошие идеи, спасибо! А как вариант сделать мини-плагин для хрома/фф, который якобы в случае блокировки сайта будет редиректить юзера на зеркала?
nnseva Автор
14.12.2017 23:24Плагин уж если делать, так сразу полноценный — с альтернативным защищенным распределенным децентрализованным DNS и распределенной сетью доставки, чтобы вообще больше никогда не зависеть от централизованных сервисов.
Но плагин ведь еще поставить надо. Много ли людей поставили себе friGate?
А описанное решение — для тех, кто поленится не то чтобы плагин поставить, а даже поинтересоваться, что это вдруг сайт перестал отвечать…
singen_dano
А такую защиту смогут запретить законом? И вообще возможно ли запретить определённый вид кода или отдельные теги этого самого кода? У нас же, как подметил автор, всё запрещают.
nnseva Автор
Ну например, у нас есть математические теоремы, сами формулировки которых, а также доказательство, составляют государственную тайну.
Что бы ни захотел законодатель, он в состоянии принять. Вопрос в том, как к этому отнесетесь именно вы и такие, как вы, и что будете делать по этому поводу.
impetus
И ведь не спросить даже…
nnseva Автор
не знаю точно, к сожалению или к счастью, я не причастен к этой тайне. Знаю только области примерно — комбинаторика, кодирование, теория вычислений. Скорее всего, речь идет об алгоритмах шифрования, доказательствах их эффективности и количестве вычислений для кодирования и декодирования. Но это только предположение.
kalininmr
я немного причастен был.
у нас необходимо было получать вторую категорию допуска просто для получения учебника.
просто раздел математики, даже ничего такого жуткого.
это, принципе, обычная практика.
так что могут запретить просто какие то наработки даже по довольно таки общим теориям чего нибудь
Asm0
Допустим, как с VPN: запретили обход блокировок, но не средства их реализующие.
sumanai
Законы? В этой стране? Просто забанят по IP.
scruff
Банилка сломается у этой страны все IP банить. Смена VPN-провайдера решит проблему… на время… до следующей смены провайдера.
sumanai
Когда банилка ломается, ломается и интернет, ибо провайдерам проще самим ввести белые списки, чем платить штрафы от ревизора.
nnseva Автор
друг мой, интернет уже сломали, а вы не заметили :/
sumanai
Да нет, пока в общем то работает. Вот когда 8.8.8.8 перестанет пинговаться из-за белых списков, тогда можно будет тушить свет.