Saboteur, невозможно отключить Телеграм, не отключая весь интернет подчистую, и никакое оборудование "там где-то" это не решит.
В Белоруссии пытались как раз подчистую и выключить. Но трафик оттуда в большой интернет всё равно просачивался, потому что не так это и просто - рубануть всё. Народ использовал psyphon и другие средства для того, чтобы оно хоть как-то просачивалось. У нас сотрудники партнёра из Минска нам даже письма писали (правда, в стиле "у нас тут ничё не работает, так что можем и не ответить").
Saboteur, там не было 100% отключения даже в самые жёсткие моменты. Трафик кое-как прорывался, в том числе через различные средства обхода блокировок типа psyphon.
Виталий Ананьев, в общем случае никак. Сайт мог, например, сначала называться компания.narod.ru, потом компания.ru, потом наш-новый-бренд.ru, и угадать, как и в каком году он назывался изначально, уже не так просто. Время регистрации домена (created at в whois) - это время, когда домен последний раз был куплен. Не факт, что при этой покупке сайт вообще будет новым, его может выкупить и предыдущий владелец, либо новый владелец может на том же домене разместить старый сайт, в общем, однозначно ответить нельзя.
Если устраивают детективные исследования, то можно смотреть в web.archive.org, изучать даты упоминания сайта в поисковиках...
Например, домен linuxmusic.ru сейчас куплен по меньшей мере четвёртый раз за его историю. Можно выяснить, что в 2009 году там был сайт по работе с музыкой в Linux (сайт со всеми данными был тогда утерян его владельцем, он об этом писал), а в 2013 - какой-то другой сайт общего назначения, связанный с Linux, а дальше, кажется домен ни для чего толкового не использовался. На вопрос "какой возраст сайта linuxmusic.ru" следовало бы переспросить "какой именно из сайтов?"
Так, я думаю, что всё равно всё сломает var_dump, который пишет в stdout и в этот момент посылается header, который затем вызывает проблемы у рендерера, пытающегося отправить header ещё раз. Кроме того, input содержит тело POST-запроса, а запрос верификации это GET, так что это действие имеет мало смысла.
Для исследования лучше явно записывать содержание $_GET в какой-нить файл. Заодно определить, не возвращается ли 400 ещё до начала указанного кода. Может, там действительно CSRF проверяется (не знаю что за фреймворк и какие у него особенности). Я подобный обработчик писал для django, там есть специальный декоратор @csrf_exempt как раз для исключения проверки CSRF-токена.
Saboteur, ну вообще-то есть FireChat, который использовали в протестах в Гонконге, а сейчас пилят его аналог FireSide на базе SDK NewNode, который автоматизирует создание таких вот отказоустойчивых сетей, которые при недоступности нужного ресурса начинают искать подходы к нему через других участников сети - и это даже работает (проверено на мобильных приложениях протестных медиа в Белоруссии).
Виталий Ананьев, что значит "сайт изменён"? Если на сайте, например, показывается текущая дата, то если судить по содержанию страниц сайта, он будет меняться каждый день.
Разумеется, любой мессенджер блокируется полным отключением интернетов, и это уже практически нерешаемо. Есть firechat и его новый клон fireside, который умеет работать через что попало, включая bluetooth, но это решение на совсем крайний случай и без гарантий работоспособности.
Михаил Лебедев, при такой постановке задачи этого сделать, разумеется, нельзя. Это иначе делается. На странице заводится пустой элемент (например, div), в footer пишется script, который отдельно дёрнет другой скрипт, отдающий нужные данные, и вставляющий их в этот div. Если совсем говнокодом, то можно получить div через getElementById и присвоить полю element.innerHTML возврашённое тем самым другим скриптом (вызванным через ajax-запрос) значение уже с нужной HTML-разметкой.
В данном случае автора волнует не то, нарушает ли он что-то, а то, что будут делать его работодатели (текущий и потенциальный) в своих собственных юрисдикциях, которые за пределами России. Волнует как раз потому, что это может вылиться для него потерей одной работы с неполучением другой.
Alexey Dmitriev, но в DNS-записи всё равно может указываться порт. Понятно, что это не для этого случая, но я отвечал не исходному автору, а автору первого комментария.
Master Ruby, cloudflare дико умный, он всё учитывает, что только можно, и обойти его рабоче-крестьянскими средствами крайне сложно.
Самый рабочий и простой способ - открыть с того же IP браузером сайт и затем перенести полученные куки в скрипт. Но CF в любой момент может впулить юзеру скрипт, который потребует обновить эти куки, ну или покажет капчу. На некоторых сайтах CF показывает капчу минимум раз в сутки любым пользователям, без разбору.
Master Ruby, есть множество способов. Например, поведенческий анализ. Вряд ли обычный пользователь запросит 1000 страниц сайта за 5 минут.
Кроме того, во многих защитных механизмах особенно внимательно мониторят сети хостеров. Например, с моей виртуалки в Hetzner некоторые сайты не работают, а на некоторых капча каждый день вылазит.
В Белоруссии пытались как раз подчистую и выключить. Но трафик оттуда в большой интернет всё равно просачивался, потому что не так это и просто - рубануть всё. Народ использовал psyphon и другие средства для того, чтобы оно хоть как-то просачивалось. У нас сотрудники партнёра из Минска нам даже письма писали (правда, в стиле "у нас тут ничё не работает, так что можем и не ответить").