Pull to refresh

Comments 128

Первая моя статья, написал, потому что показалось, что такой кейс сильно важен для понимания. Ну потому что "ну как так. Как такое вообще может быть?" Да уж...

Спасибо! Кейс ДЕЙСТВИТЕЛЬНО важный. Даже не сколько для профессионалов - они обычно работают по стандартам и готовым шаблонам. А вот начинающие разработчики...

Я веду кружок программирования и по поводу многих метаданных дети просто хором вопят - "А можно это не писать?". Так возникает плохая привычка уходить от стандарта. Буду приводить ваш пример, как мотиватор писать по стандарту.

Так, дети, ни на что не намекаю, но если вы не будете следовать стандарту, - это возможно приведёт к ... эээээ... убийству.... ээээ... детей(!?). Вот, смотрите пример.

А можно это не писать?

Очень рад за этих детей. Потому что вижу в индустрии обратную тенденцию: код копируется со всеми костылями и бойлерплейтами, какие только успели накопиться за много лет, и мало кто из разработчиков вообще задаётся вопросом, зачем это всё нужно, и нужно ли на данный момент.

Наступил на подобные грабли. Не помню точно, был ли сайт на русском, а lang был "en" или наоборот. В остальном всё по-классике как у вас - single page без гидрации, никакого криминала, переключение языка на сайте со сменой пути - т.е. /XXX редиректил на /en/XXX или /ru/XXX.
Были также настроены sitemap, чтобы решить проблему одного и того же контента по /XXX и по /(en|ru)/XXX
А результате Гугл просто сошёл с ума, объявив стайт клоном самого себя и отказавших вообще индексировать контент. В их поисковой консоли отображалась куча бессмысленных ошибок про клоны и копирование контента.
Возможно, что в результате тоже бы попали под фишинг, но сумасшествие Гугла была обнаружено практически сразу - не прошло и суток. В качестве превентивной меры сразу же отключили все языки кроме одного и потом в ходе опытов поменяли lang на реальный язык сайта. После этого проблема немедленно пропала.

Заодно была найдена куча проблем и багов с этим lang.
Если в двух словах, то совершенно абсолютно никогда и ни при каких условиях не пытайтесь менять значение lang динамически! Даже если вам кажется, что всё работает. Нормальная работа возможна только если lang выставлен сервером (и зависит от пути в URL) или при явной перезагрузке страницы!

И ещё совет - установка пароля на сайт ничего не обещает и не гарантирует в отношении Гугла. В недрах гугло-мануалов была найдена мудрость от самого Гугла о том, что если вы закрываете доступ сайту любым образом, то обязательно настраивайте robots.txt на запрет индексации!!! И дальше было перечислено с десяток сценариев, когда Гугл закеширует и заиндексирует содержимое сайта не взирая ни какие пароли! В результате даже если сайт не будет отображаться в поиске, то он всё равно будет скрыто участвовать во всяких ранжированиях, рейтингах и рекомендациях!
То есть или контент засветите, который не хотите показывать, или в момент публичного открытия с удивлением обнаружите, что сайт не "чистый" и Гугл уже понаприсваивал ему всякого (от неверной тематики и каких-нибудь понижающих выдачу штрафов, до просто мусорного рейтинга).
Это, как бы, очевидно, но большинство интуитивно и неправильно считает, что если сайте есть пароли, то robots.txt не нужен, а по факту это несвязанные вещи.
И это в целом верно. Не хотите Гугла и прочих - явно пишите об этом в robotos.txt и sitemap.

Ну, и во время любых технических работ нужно правильные HTTP-коды выставлять и настройки для поисковиков, иначе в один прекрасный день после 15 минутных работ контент сайта в поисковиках будет заменён на нечто невообразимое.

И пишите хотя бы минимальный sitemap для языков, особенно если возможны разные URL с одинаковым контентом и/или разными языками. Там тоже куча багов зарыта, которые лучше заранее избежать. Например, корень сайта в поиске будет отображаться на случайном языке. Выход из этой ситуации может занять месяцы. Для сайта обязательно должны быть перечислены все возможные независимые начальные точки входа поисковика на сайте. Как правило это корневые страницы на разных языках.

Короче, по этим граблям тоже прошлись.

С robots.txt тоже не так просто. Мне Гугл прямо писал: "Страница была проиндексирована несмотря на запрет в robots.txt". Пруфов, правда, не приведу...

Есть такое, но это происходит в каких-то совсем редких случаях, которые на практике особо не встречаются.

А что делать, когда сайт в прицепе непубличен и никакого robots.txt там нет и быть не может?

Допустим, есть портал billing.bankname.com, где сотрудники видят все персданные клиента, его банковские транзакции и всё такое.

Портал доступен только и исключительно внутри сети банка, разграничение доступа к контенту - по участию в AD группах и правам доступа на их основе.

Но на всём этом ставят крест браузеры, которые будут сливать данные клиентов наружу несмотря на физическое отсутствие доступа для поисковых машин?

И ладно крупные компании тира банков - там ИБ может подрезать браузерам всё лишнее (начиная от управления через политики, заканчивая блокировкой нужных доменов на прокси), но у мелких компаний с приватными админками могут возникнуть большие сложности. Причём утечка может произойти с компьютера любого пользователя (или даже мобильного телефона), который смог зайти на внутренний портал.

А что делать, когда сайт в прицепе непубличен

запрещать на основе лузер-агента бразуеры-сливщики, разрешать только links/lynx/elinks/еще что-то проверенное собственноручно.

если сайт впринципе непубличен, то и доступ в него должен быть через непубличную сеть. Т.е. совсем. Доступа в инет там вообще быть не должно. Тогда никакой браузер физически ничего никому не отошлёт.

Остальное полумеры.

Подождите. А как же условные админки сайтов и прочие банковские приложения?

Думаю, в идеале админку можно на 127.0.0.1 держать и заходить через VPN или хотя бы poor man vpn через SSH тоннель. Поднял доступ - зашел, поделал, вышел, все - админка недоступна. Еще один уровень защиты от XSS и CSRF атак.

А как это, собственно, поможет? Там же получается, публичный - не бубличный, пофигу, если кто-то с хрома раз зашёл то все, контент ушёл. Иначе как еще они подпарольные страницы индексировать могут, кроме как с клиента?

Да, я тоже вспомнил - и причина та же, - не учимся на чужих ошибках.

Только там "котлеты", а тут "убийство детей", - гугл становится кровожаднее.

"Don’t Be Evil" - бывший девиз гугла. "Совпадение? Не думаю!" =)

Самое интересное в статье - зачем вы два месяца пилили только админку для сайта, который только показывает тексты

Вспомнилась аналогия: тз для сайта гугл в упрощённом виде может выглядеть как "показать текстовое поле и кнопку с надписью "Поиск". При вводе информации и нажатии кнопки "Поиск" - показать ссылки на сайты, где встречаются введённые слова". Любой джун за пару дней сделает :)

Ну фронт можно и за день сделать. А вот бэк ...

Проблема в том, что строго говоря, и гугл этому не соответствует. Не все сайты проиндексированы, не все данные актуальны, иногда менее релевантный сайт (по нашим, человеческим представлениям) оказывается выше более релевантного. Если вот эти количественные параметры снизить, то поисковик сделать в самом деле очень просто.

Американский форум: задают вопрос, 90% ответов разной степени глубины, уточняющие вопросы. 10% свои собственные истории по теме
Русский форум: 90% реплик "да кто так делает", "да ты сам козёл", "да я лучше!"

  • Браузеры мониторят даже те страницы, которые закрыты за авторизацией

Это прекрасно, интересно, что еще делают браузеры, о чем мы не знаем? И как используются эти данные мониторинга?

Можно считать это паранойей, но мы похоже уже живем в "прекрасном новом мире", в котором государство или крупные корпорации практически о любом человеке имеет такую массу информации, о которой даже он сам не догадывается.

Стоит задуматься... Например, внутренняя почта и куча ресурсов открываются браузером, даже 1с-ка...

Это не паранойя, а реальность.

С 2004 года живём. Никто даже не пикнул.

Да, уже с момента массового распространения мобилок, каждый человек по факту таскает с собой радиомаяк, и уже даже простым анализом его перемещений можно о нем узнать массу всего.

Мы точно знали, что "для защиты детей" инет мониторится. Но тут он мониторит закрытые (!) ресурсы (без общего доступа) - и решение о блокировке принимает не браузер, а сервера гугла, то есть содержимое туда передается и там анализируется. Грубо говоря - у кого 1с, например, в облаке...

Немного не понял: если бэк серверный, то валидация пароля принимается на уровне сервера и выдача контента производится оттуда же, как гугл-спайдеры могут обойти это ограничение? Другое дело, я бы понял, если «закрытый» текст уже вшит в код страницы и пароль предназначен исключительно для решения, отображать скрытый текст или нет. Но этот вариант защитs так себе.

Чтобы достать контент, нужно авторизоваться и получить JWT токен. Так что "случайно" этот контент никак нельзя было бы достать. Только если сами браузеры слили.

И еще +1 к нюансам Progressive Web Applications, совершил небольшую ошибку и всё, прилженька превращается в тыкву.

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

Стоит задуматься над переходом на браузер, где вырезана слежка за пользователем.

Мне кажется, что современные браузеры слишком переусложнены из-за потребности поддерживать более 1000 спецификаций. В такой сложной системе просто невозможно гарантировать приватность.

Я полагаю, что надо переходить не на браузер. А начинать задумываться об архитектуре новой сети. Причем делать её отдельно от корпоратов. Потому что если извлечение данных - это большой бизнес, то корпоративная разработка просто не заинтересована в приватности пользователя.

Да ну, есть опенсорные браузеры которые вполне эту тыщу спецификаций поддерживают, но как гугл не следят. Всё же здесь дело не в спецификациях, а в гугле.

Современные браузеры - довольно прожорливые в плане ресурсов программы, и может действительно стоило бы подумать о том, чтобы сделать многие вещи как-то иначе.

Уже подумали. Получился Gemini Protocol, довольно неплохая вещь, кстати.

Так ведь тот же хромиум в открытом доступе и биндинги есть для многих языков. Спецификации поддерживает сам этот движок, а дополнительные средства защиты и тем более мониторинга туда не входят. Так что можно быстро и смело создать простой браузер на основе CEF

А кто будет оплачивать банкет, если не будет корпоратов?

А у корпоратов откуда деньги берутся? ОТ пользователей...
Вопрос в том, что пользователей приучили ко всему бесплатному в Интернет. НО ведь платят же пользователи за Интернет и VPN. Если новая сеть будет предоставлять некую эксклюзивную информацию, то за подписку на неё будут платить.

Тут есть еще свои Сцила и Харибда. С одной стороны, если если будет приносить прибыль, то есть соблазн либо продаться корпоратам, либо самому стать корпоратами. С другой стороны, если система будет действительно надежной, то можно превратиться во второй ДаркВеб, с которым официально борятся и который ошельмован так, что типичный пользователь туда и побоится войти.

Проще сделать один мегасайт на все случаи жизни и для него использовать специальный простой браузер/приложение.

Может даже какой-то структурированный язык описания информации. Ну вот типа SQL, через который можно узнать на сайте, какие у них есть пиццы и почем. И потом поместить заказ.

Мне вообще непонятно, зачем нужны разнообразные вебморды ко всему? И веб-дизайн.... Зачем дизайн сайта поп-звезде - я понимаю, чтобы заходишь, там фейерверк и потом на тебя голый киркоров смотрит, сидя в позе роденовского мыслителя. И (в идеале) на голове перья, и одно изящно прямо за пределы монитора немного выходит. Ему бы такое пошло. Но зачем эта же технология для металлобазы, продающей профилированную трубу? А ведь там может еще целый какой-то реакт-ангулар крутиться, и чисто чтобы показывать "а еще у нас сегодня скидки на это" и чтобы можно было посмотреть историю своих покупок...

Разве это не оверкилл?

Сейчас уже в Brave появился Speedreader чтобы всю эту дизайнерскую хероту отключить, и оставить то, что тебе нужно.

Я вижу так, что браузер (и может быть для него какие-то "скины", "плагины") - это прокладка между красивым и удобным интерфейсом на мониторе и таким вот языком запросов (понятно, что пенсионерка не будет квартиру оплачивать SQL или какими-то еще запросами - человек должен себе видеть удобные кнопочки).

Плюсы:

  • Сайты разрабатывать проще и дешевле

  • "Скин" сайта(-ов) юзер выбирает себе сама. Хочет - жрущий, ресурсоемкий, хочет лайтовый

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

  • Безопасность - очень немного разных схем взаимодействия. Если она работает безопасно для парикмахерской "Элегия", то и у парикмахерской "Локон" тоже будет безопасная схема взаимодействия. Вылизать одну схему просто и легко.

Веб ушел куда-то в гипер-гибкую область, где внутри браузера - целый компьютер с операционкой. Да, это в самом деле гибко, можно офисный пакет сделать внутри браузера (или даже еще один браузер!) - но так ли это нужно? Всегда ли? Я думаю, 90% сайтов вполне может перейти на упрощенную схему от которой всем будет хорошо.

Мне вообще непонятно, зачем нужны разнообразные вебморды ко всему?

Мне вообще непонятно, зачем разнообразные этикетки ко всему? Что красная, что синяя, и то и другое — сладкая газированная вода с недетским количеством сахара!

Вроде того, да. Вот в телеграмме весь этот выпендреж убрали и канал похоронного агентства и канал агентства праздников выглядят одинаково. И ничего страшного. Как-то же люди "терпят". Люди не убежали из телеграмма, а наоборот, набежали туда. И во многом именно это и дало рост телеграмма - открыть канал можно за 2 минуты, не надо обзванивать веб-студии, согласовывать шрифты и оттенки темно-синего цвета, оплачивать все это. Усложнять легко, упрощать сложно. Телеграм смог упростить, оставив суть - и существенная часть функций вчерашнего веба переехала туда.

У вас часто бывало так, что на какой-то тг канал заходите - а он не работает? Или какая-то его часть не работает. Думаю, почти никогда. А на веб-сайтах? Да регулярно, любой багрепорт в редмайне-жире фронтендеров - это про это.

Нет, красота, индивидуальность, фирменный стиль - это все хорошо, я не спорю. Я просто предлагаю взвесить это и сопоставить. Чтобы узнать на сайте факт (цена пиццы, есть ли билеты на концерт или на самолет, какая погода) - технически нужно 0.001% от всей сложности проекта. curl example.com/weather/moscow. ВСЁ! Я не предлагаю всем переходить на curl, но факт - curl (или httpie) достаточны для информационного функционала. curl весит 200кб...

А все остальное превращение браузера в жирную операционную систему (с сопутствующим количеством дыр), вся огромная сфера фронтенда (дизайнеры, фронтенд-программисты, программисты, которые пишут фреймворки для фронтендеров, технические писатели, которые пишут документацию, обзоры, гайды и учебники, школы для фронтендеров, эйчары, которые нанимают фронтендеров) все это - только чтобы уникальный незабываемый стиль СТО "Дизель" отличался от незабываемого уникального стиля СТО "Колесо". Чтобы металлобаза #7 отличалась от металлобазы #3. Что управляющая компания "Жилищник" отличалась от УК "Жилец". Чтобы интернет-магазин наушников отличался от интернет-магазина механических клавиатур.

А точно ли они настолько отличаются?

превращение браузера в жирную операционную систему

И правильно — не будем превращать браузер в операционную систему. Превратим в операционную систему Telegram! (WeChat аплодирует стоя.)

чтобы уникальный незабываемый стиль СТО "Дизель" отличался от незабываемого уникального стиля СТО "Колесо".

А точно ли они настолько отличаются?

Что-то ужасно знакомое. Где-то я это уже видел...

Это я не к тому, что всё неправильно и не надо так делать. Это я к тому, что новое — это хорошо забытое старое.

(А также к тому, что у Интернета вновь появляется единая точка отказа).

Разве же плохо брать удачные идеи и замечать неудачные? Это хорошо, что сайты гибкие, красивые и мощные. Но за это платить дорого приходится. Даже тупо компы приходится обновлять, потому что домашний комп был пригоден, чтобы смотреть кино и заказывать пиццу 10 лет назад, но уже не может этого сегодня. А пицца-то не изменилась.

Про Телеграм я совсем не имею в виду, что "давайте все доверимся Паше Дурову, он все сделает как надо!", мне тоже не нравится централизация и SPOF. Но я говорю - смотрите - Паша сделал Телеграм БЕЗ "операционки" внутри. Каждый канал - просто канал, по сложности и гибкости - как инстаграмм аккаунт. Отказался Паша от всей гибкости - и решение оказалось замечательным и обрело успех. Ведь ваша яркая цитата из "иронии судьбы" никого не убедила закрыть телеграм канал - наоборот, все их открывают, хотя каналы похожи внешне и на них даже нельзя перед НГ "запустить снегопад".

домашний комп был пригоден, чтобы смотреть кино и заказывать пиццу 10 лет назад,

Внезапно, компы были пригодны, чтобы заказывать железнодорожные билеты ещё в 1980-е. Непригодны были люди.

Паша сделал Телеграм БЕЗ "операционки" внутри.

Эмммм... А эти ваши "телеграм-боты", простите? Та штуковина, которая предоставляет одной штуковине инфрастуктуру для взаимодействия с другой штуковиной — она как бы операционная система и есть.

наоборот, все их открывают, хотя каналы похожи внешне

Хе, это Вы ещё WWW образца 1990 года не видели (где www.disney.com представлял собой странички с текстом и парой-тройкой картинок, да и в 1996 году он недалеко ушёл). А дальше потихоньку-полегоньку, всякие там Buy.com, googlegear (снимает шляпу упокой господи его душу) итэдэ итэпэ, а потом как прорвало... В общем, потерпите лет эдак десять-двадцать — всё будет.

Вся магия телеграм бота - где-то там, не требует особых усложнений на клиенте, все почти так же, как при общении с обычным юзером. За телеграмм-ботом может быть поисковик гугл, или ChatGPT, любая невероятно сложная система - но интерфейс клиентского взаимодействия с ним - очень простой.

Хе, это Вы ещё WWW образца 1990 года не видели

Это вы почему так считаете? :-) Ну вот именно в 1990 меня в сети еще не было, но где-то с 1995 или 1996 - был. До гугла и яндекса, да. Где-то со времен Альтависты. Вышли в сеть через модем на 2400... вроде соединение установилось... и не знали - а куда дальше? Первый сайт был.... sex.com ! И не только потому что мы были озабоченными юнцами, а потому что я где-то слышал, что "в интернете все почему-то заканчивается на .com" и мы решили, что сайт sex должен существовать :-)

Мне кажется, я как-то не слишком понятно свою позицию излагаю - потому что вы критикуете немного мимо, не ее, а что-то другое. Вот по эл.почте (SMTP) можно высылать что угодно. А протокол очень простой. Есть расширения, дополнения, но даже тот старый простой - отлично работает! HTTP - тоже очень простой. Все, чем мы обмениваемся в сети - через него же идет. DNS - простой.

Я не говорю, что нужно "запретить красивые сайты" (или сделать их технически невозможными). Я говорю, что функционал взаимодействия, протокол, должен быть простым и достаточно унифицированным. Как вот HTTP, только на 1 логический уровень выше. Если две наши СТОшки, парикмахерские или металлобазы захотели себе сайт (достаточно функциональный, а не просто визитку) - они все могут это сделать легко и быстро. Может быть с немного разными скинами/цветами снаружи, но по достаточно одинаковой схеме внутри. А можно накрутить уже любой сложный фронт поверх этого, но можно и не накручивать. Главное - что простая версия сайта будет работать. И работать с сайтом можно будет хоть даже из консоли. Ну или из простого графического браузера. Примерно, как даже сейчас можно читать почту через mail/pine/mutt/emacs (как в 90-ые делали). Можно на электронном градуснике или на тесте на беременность перепрограммировать и сделать там какой-нибудь страшненький MUA - и будет работать!

Возможность простой и легковесной работы с ресурсом - это часть функционала, причем важная. Красота, эстетика - дополнение. Вот дополнение не должно мешать функционалу, а сейчас оно мешает.

Я не совсем понимаю основную мысль Вашего повествования, ибо Вы очень уж сильно растеклись по древу, но ВНЕЗАПНО, я в курсе. Например, я до сих пор читаю почту в elmпо той простой причине, что вирусу как бы очень сложно пробраться в систему (особенно если она — не Windows) через текст. И увы, в 90% случаев текстовая версия — никакая, емейл на 99% состоит из густо замешанного HTML, в котором обнаружить искомый текст — та ещё задача (хотя мы не ищем лёгких путей!). И про "работать с сайтом можно будет хоть даже из консоли" можно забыть, потому что опять же в 99% случаев всё, что пожно увидеть в консоли (точнее — в lynx) — это спасибо ещё, что слова "please upgrade your browser", потому что jquery и прочие отслеживалки движения вашей мыши. К сожалению, в светлое будущее нас затаскивают за шкирку, слегка попинывая ногами, а backwards comaptibility — это утерянное знание древних.

Инженеры, которые делают хорошие протоколы - вполне хорошо их делают. (IP, DNS, HTTP, SMTP - все на удивление работает, хотя, наверное, можно было бы и лучше). Проблема "затаскивания в будущее за шкирку" организационно-техническая.

Организационная она в том, что какой-нибудь маркетолог-дизайнер придумывает, каким должен быть сайт или рекламное письмо. Естественно, он нифига даже и не знает про какой-то там elm или lynx и слова про backward compatibility он и не слышал. Поэтому улетает письмо с красивым HTMLем, но плохой текстовой альтернативой.

А техническая она в том, что мы допускаем эти две части и они никак не связаны. Теоретически, HTML часть может быть про скидки на сапоги, а текстовая - пустая или про рост цен на яйца. Из-за этой технической возможности вырастает организационная проблема.

Но есть же красивое решение подобной проблеме в немного другой сфере - API-first подход (пример не про эл. почту) : у некоторого условного банка есть API, через который можно работать. И есть фронтенд, который работает через API. Фронтенд служит как бы дополнением. Сам фронт может быть тяжелым, графическим, каким угодно неподъемным. Может быть даже так, что у банка нет легковесного фронта. Но тем не менее, теоретически, вполне можно натянуть другой фронтент на этот же функционал, можно даже curl'ом пользоваться. При API first подходе очень сложно сделать сайт, который был бы несовместм с curl'ом.

Вот тот подход, который мне нравится - это когда в целом мир основан на гибких технологиях, которые могут работать и из шелла, и с компов мощности raspberry pi и по очень тонким сетевым соедиениями, при этом - на них можно навешивать красивые толстые штуки которые дают красоту-удобство (но все и без них работать может). И тогда даже маркетинговое агентство, которое основали несколько молодых девушек с ноготочками - даже их письма будут читаться в простом мейлридере (потому что это заложено в технологию по дефолту).

у некоторого условного банка есть API

Вот кстати да. Если б я был лоббистом, я б давил на политиков, чтобы они потребовали от банков идти именно таким путём. В 2000-е некоторое количество банков даже предоставляли API (если знать, где его искать) — я для своей тулзовины даже интеграцию писал. Но это количество со временем снизилось практически до нуля :(

Решать такое через государство - мне кажется, безнадежно. И получиться может криво, как с этим надоедливым окошком с куками вышло. Да и удастся это сделать в России, допустим. А в Испании - нет.

Как-то технические решать лучше, наверное. Вот перевели же весь интернет на HTTPS как только гугл начал требовать это от сайтов. Может быть не кнутом, а пряником. Может быть всякие модные фреймфорки (fastapi) будут побуждать делать api-first.

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

Кстати, о надоедливом окошке. На каком-то из сайтов, которым я пользуюсь, оно появляется — но стоит начать его читать и повести куда-то в его направлении мышкой (ну, чтобы сделать свой выбор), как оно исчезает...

:-) у меня давняя идея как-то стандартизировать бы все это, чтобы браузер обучить вроде:

  1. Да, я согласен на куки

  2. Мне есть 18 лет

  3. Я из города Торжок, но если вы его не знаете - то считайте, что из Твери

  4. Нет, не хочу подписываться на вашу рассылку, спасибо

  5. Чат с менеджером пока не нужен, вообще уберите его с экрана. Надо будет - активирую.

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

> У вас часто бывало так, что на какой-то тг канал заходите - а он не работает? Или какая-то его часть не работает

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

Так вы сейчас про сайт и говорите, а не про телеграм. Ну про веб-сайт с доступом к тг. Веб технологии - все эти HTTP/HTML/JS/CSS. И веб-технологии, да сложные, и там часто что-то не так. А вот телеграм-канал - достаточно просто работает (как тот же HTTP, но без HTML/JS/CSS).

При этом всё кроме чата в тележке совершенно ужасно. Максимум на замену твиттера подойдет.

Это ваше мнение, а вот туева хуча людей, которые создали там тг каналы - их устраивает.

Удачи вам реализовать Хабр средствами ТГ канала.

Это ваше мнение, а вот туева хуча людей, которые создали там тг каналы - их устраивает.

Что-то ужасно знакомое... А! "По опросу, проведённому в Интернете, 100% людей пользуются Интернетом."

Так а бизнес-сайты-то в этом "новонете" будут? Там можно будет заказать пиццу, авиабилет, выбрать автопокрышки (возможно, через проплаченный обзор) и зайти на онлифанс? Если будет бизнес - то будут и маркетологи, а как появятся маркетологи - так все, пиши пропало.

Предыдущая итерация размышлизмов.

Вкратце: для «просто страничек» типа нас с вами, составляющих 99.99% веба, давно нужно переизобрести с нуля формат на основе скорее PDF + iframes¹, нежели HTML, с учётом всех подводных камней, которые HTML в своё время обходил миллионами костылей, начиная с использования таблиц для вёрстки и заканчивая тем, что на скриптах пишется, по сути, веб-приложение для браузера, а страница просто не существует как явление.

Оставшийся 0.01%, где «веб-приложение внутри браузера» реально нужно — прекрасно покрывается здесь и сейчас существующими стандартами, пусть они живут сами по себе.

Конечно, корпорации включат режим «а не будут брать — отключим газ», например, некоторые при виде мобильника отдают глубоко неполноценный сайт и требуют для полного доступа ставить в трусы пользователю приложение. Но бороться с чем-то можно, только сначала создав альтернативу, за которую можно бороться. Мой Мышиный Заговор про то же самое, если что.

¹ iframes в HTML были ужасны. То, что они не решили проблему вёрстки — вообще не удивительно. Это не означает, что от них надо шарахаться, это означает то, что надо закладывать в стандарт нормальные ифреймы, как и всё остальное, кстати. Такие, на которых сделать «окно статьи, окно камментов, справа колоночку» будет лучше, чем делать их скриптами, а не хуже. И этот пример на всю концепцию распространяется. Мёд и мёд с дёгтем — не то же самое.

Ну, с архитектурой всё просто: гипертекстовая и векторная!

И телефоном, который не взаимодействует с сотовыми вышками.

Т.е. смартфон, но расчитанный только на Wi-Fi? Защищенный и с поддержкой шифрования. Если позиционировать его с расчетом на бизнес-среду, то я думаю проект может и взлететь. А потом, когда появится готовый к использованию продукт, его можно делать и массовым.

смартфон, но расчитанный только на Wi-Fi? Защищенный и с поддержкой шифрования.

Коль, а Коль! Зырь, миллениалы изобрели коммуникаторы!

Вы зря иронизируете. Коммуникаторы как раз жили и развивались в бизнес среде. Так что возвращение не будет чем-то экстроординарным.

Другой вопрос, что тут надо тщательно продумывать экосистему. Чтобы и аудит программ и невозможность запустить неподписанную программу и система разрешений не как в андройд и физическое отключение камеры/микрофона и прочее-прочее...

Сча они ещё Бриар изобретут ;) ну, кстати, тому же Сигналу бы очень не помешала отправка сообщений «на голубях», когда в ситуации «2G иногда почти ловится» назначаешь «почтальоном» кого-то из контакт-листа, с его согласия, конечно (ему же флэшку забивать-изнашивать), он получает сообщение по локалке, синезубу, да хоть по ИК, если найдёте :) и его хранит, без ключа на расшифровку, естественно (ключ же у адресата, адресат не просто так в контакт-листе). «Сизый витамин» всё равно собирался прогуляться до автолавки, там вышка рядом, отправит и примет в ответ пару сот метров видео, которое слишком велико для серверов Сигнала :) и так же его притащит, вернувшись.

Вроде где-то я уже обмолвился про это, или только собирался…

Любой современный смартфон можно превратить в "смартфон, но расчитанный только на Wi-Fi" простым переводом в авиа-режим+вифи. А если использовать мессенджеры вместо обычной голосовой связи, то ещё и с шифрованием.

Несколько лет назад FireFox не хотел открывать страницу сайта со словом "emberscan" в домене, выдавая предупреждение безопасности, мол риск фишинга и т.д. Я тоже думал, вдруг потому что https нет. Но потом сообразил - браузеру показалось, что "emberscan" это как "etherscan", схожесть для популярного сервиса про крипту.
Недавно прошло само собой. Это не слежка, но тоже сомнительное поведение.

Хочется процитировать:

есть опенсорные браузеры которые вполне эту тыщу спецификаций
поддерживают, но как гугл не следят. Всё же здесь дело не в
спецификациях, а в гугле.

Вот не в Гугле персонально дело! И опенсорс не менее зависит от спонсоров, чем корпораты от акционеров. Дело в схемах монитезации и в том, что такое хорошо и что такое плохо с точки зрения хозяев денег.

В ситуации когда все больше и больше решения принимаются компьютерными экспертными системами нет ни какой гарантии, что информация собираемая браузерами не станет основой скрытого социального рейтинга. Ни кто на человека клеймо ставить не будет: но там в кредите отказали, там повышения не дали, там не допустили к торговой площадке. И все на автомате...

... но разве это плохо?

Вроде были опросы в разных странах, что люди думают о том, чтобы судебные решения (хотя бы простые) выносил робот. Так вот в РФ люди почти больше всех относятся к этому положительно, потому что робот работает бесстрастно, а вот человек может и злоупотреблять, причем, скорее в неприятную тебе сторону.

Все эти решения ведь и сейчас принимаются людьми, по каким-то правилам. Только люди могут иногда ошибаться, а иногда злоупотреблять. Идеальный сотрудник, который принимает решение о выдаче кредита будет работать в точности как робот.

Робот будет злоупотреблять в сторону, которую назначит его программист, а поймать его на этом будет ещё сложнее.

Как вы это представляете себе? Может быть есть какие-то прецеденты более-менее известные?

Если вы, к примеру, про скоринг, когда, например, банк отказывает в сделке (не дает займ), то это ведь случается в ситуации, когда обе стороны не зависят друг от друга, и заключат договор, только если он будет выгоден обеим сторонам. Зачем тут программисту что-то подкручивать? Если ожидается, что вы хороший клиент - банку выгодно дать вам деньги. А если нет - то нет (и имеет право). Это не уклонение от обязательств - банк не имеет их перед вами.

Так же с модерацией в сети. Ютуб не обязан хостить чужие видео, а гугл не обязан индексировать и выдавать чужие сайты. Если ему кажется(!) что контент плохой (есть слова "взрыв" или "колумбайн" или "эльза") он вполне может отказаться от такого контента. Он может даже принимать заявки на индексацию только на бумаге, в офисе в Калифорнии, с 5 до 7 утра, по четным числам, кроме выходных и четверга (санитарный день).

Чем жестче и безумнее будет его политика - тем выгоднее его соперникам.

Зачем тут программисту что-то подкручивать?

В вопросах действий частных предприятий - пожалуй, незачем. А если это дойдёт до государственного уровня - там и причины, и цели найдутся, РКН тому живым примером.

Согласен. Но тут уже проблема в другом - государство само не хочет быть хорошим государством, у него другие цели и приоритеты. А когда государство поломано, то вам и робот откажет и человек откажет. Один человек вот очень хорошо уличал (людей, не роботов), доказывал, сейчас в колонии "Полярный волк" сидит... Проблема явно не в роботизации.

Кстати, могу вам привести еще один интересный реальный пример. Несколько лет назад, на одних выборах я сходил, проголосовал, а дома открыл видеотрансляцию и смотрел. Первые 10 минут все было шикарно. А затем трансляция оборовалась и при попытке открыть ее снова - вылетала капча (видимо, система была для того, чтобы зашел, увидел, что есть видеонаблюдение, возрадовался, как у нас все хорошо и вышел, а если хочешь наблюдать за процессом долгое время - это уже подозрительно). Ну ладно, я не ленивый - ввожу код... не проходит. Окей, наверное, неразглядел. А вот нифига - и все следующие попытки тоже обламывались. Я не знаю, это был случайный баг или намеренный баг или дажи просто симуляция капчи (а по сути - специальная блокировка). Но вот реальность: наблюдение я осуществить не могу, доказать это сложно, но даже если докажешь - виноват будет младший помощник программиста, его можно максимум премии за это решить - у него не было умысла узурпировать власть.

Всё проще. Робот отталкивается от данных, которые ему точно так же подсовывают люди. Про SEO слышали?)

Показательный пример, интересный! Вы что имеете в виду, что в жизни, как и в SEO люди будут специально создавать свою биографию так, чтобы угодить роботу?

В SEO есть две части. Открытая и предсказуемая - это когда сайты надо делать следуя определенным правилам (чтобы поисковик их любил), например, иметь на сайте HTTPS.

И есть закрытая, "магическая". Какие-то тайные знания, например, про плотность ключевых слов. На страницах из ста слов, страница где "купить мясорубку" встречается 4 раза будет в результатах поиска выше, чем страница, где это 3 раза. Но страница с 5 фразами будет заблокирована, как спамерская. Это нигде не опубликована, узнается экспериментально, передается как эзотерические знания, от учителя ученику. И сегодня эти числа такие, а через год могут все поменять и будут другими.

Так вот государственные функции - они ведь из первой (открытой) части. Хочешь открыть ООО? Вот чеклист: совершеннолетний, дееспособный, не госслужащий. Не надо никак понравиться чиновнику, надо просто соответствовать. И это хорошо, если люди соответствую - для того ведь и нужны законы, чтобы направлять поведение людей.

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

Но я имел ввиду другое - как сейчас есть адвокат, который может представить ваше дело суду в разном свете в зависимости от мотивации и квалификации, так в случае с роботом у вас будет seo адвакат.

Дело в том, что судопроизводство нельзя строго детерменированно алгоритмизовать. А значит, будет нейросеть. А нейросеть при правильной подаче считает котенка щенком. Это как раз и будет "магическая" часть. Если нейронка обучена на некоторой выборке существующих или вымышленных дел, вы можете влиять на её решение через манипуляцию подачей информации с целью сделать своё дело похожим на эталонное выигрышное. При этом есть шанс, что нейронка будет учитывать сходство по форме наравне со сходством по содержанию и тд. Может вдруг оказаться, что выбор эпитетов как-то влияет на итоговую вероятность (как с историей с обучением на рентгновских фотках лёгких она обучилась на какие-то нерелевантные признаки типа названия больницы в подписи [плохо уже помню детали истории, но до какого-то момента она выглядела успешной]).

Так вот государственные функции

Ну так законы все публичны. Протоколы многих процессов доступны (вроде) при некотором желании. Но вы все равно идете к адвокату.

Про нейронку - согласен. Причем, каждая новая версия может принимать иные решения (пытаясь справедливо оценивать ситуацию по тем же самым законам). И это дает неопределенность.

Как сейчас работает человеческий суд? Хоть у нас формально не прецедентное право, прецеденты имеют огромное значение. Если в соседнем районе города судья принял какое-то решение, и это решение подтвердил вышестоящий суд - значит и этому судье выгодно принять такое же (даже если будет аппеляция - его решение подтвердят).

Но это же прямо очень сильно похоже на ембеддинги для GPT! "Вынеси судебное решение по такому-то делу, с такими-то обстоятельствами, учитывая что правильные решения по сходим делам были такие-то".

И человеческий судья может выносить "нетрезвые" решения, и робот. Но у робота тут плюс в том, что его можно хотя бы попробовать испытать - заранее узнать, что нейронка думает по поводу какой-то серой операции, законна она или нет. Сейчас все сомнительные бизнесы закрыты для простых людей (ибо можно уехать в магадан), но открыты для непростых.

И это дает неопределенность.

Реальные дела тоже могут пересматриваться разными судами. Тут +/- ок. В зависимости от исторического контекста одни и те же ситуации тоже судятся рпзличным образом.

Но это же прямо очень сильно похоже на ембеддинги для GPT

Я примерно туда и веду. То есть высок шанс, что появятся люди, которые смогут с предсказуемой вероятностью влиять на исхд процесса.

Но у робота тут плюс в том, что его можно хотя бы попробовать испытать - заранее узнать, что нейронка думает по поводу какой-то серой операции, законна она или нет.

Вот это бесспорно крутая фича. Но есть шанс, что на самом деле нейронка будет принимать во внимание "простоту" человека, и ничего особо не изменится. С другой стороны, потенциальный мошенник может использовать эту фичу для поиска лупхолов - сделает генетический алгоритм с выводом судебной нейронки в качестве фитнесс функции и будет гонять, пока не добъется необходимого соотношения риск/профит, если вообще не безнаказанности.

у робота тут плюс в том, что его можно хотя бы попробовать испытать - заранее узнать, что нейронка думает по поводу какой-то серой операции, законна она или нет.

Ну то есть теперь работа адвоката (не того, который следит за соблюдением закона, а а-ля Перри Мейсон, который думает, как бы отмазать заплатившего) будет заключаться в том, чтобы сидеть за своей копией судебной нейросетки и думать, какие входные данные ей подсунуть, чтобы она преступника клиента посчитала белым и пушистым.

судопроизводство нельзя строго детерменированно алгоритмизовать. А значит, будет нейросеть.

Где-то я это уже видел.... А, вот!

(фильм)

Так а на скрине галочка разрешения отправки содержимого выключена. Кто-то другой смотрел этот сайт со включенной галкой?

Не совсем понял, какую галочку вы имеете в виду, но на тот момент проект успело просмотреть человек 10-15, но они разбросаны по всей планете, так что там уже не уследить и не проверить.

На скрине вроде как изображена галочка с надписью "Помогите сделать Интернет безопаснее..", я хотел сказать, что возможно, браузер не по дефолту отправляет содержимое страниц в Гугл, а только получив согласие пользователя.

А-а-а. Скрин с ошибкой не мой, потому что я у себя его не делал. Скрин был взят с одного из сайтов, где разбирались возможные причины подобной блокировки.

Однажды ко мне стучится менеджер проекта и говорит, что...

<...>

«Ну наверное потому что для dev‑версии мы пока не сделали HTTPs», подумал я и забил.

Начать стоило еще с консерватории правильной реакции на репорты, а уже потом исправлять теги.

Обратите внимание, что я написал, что мне постучался менеджер проекта. Не создал тикет, а просто написал в личку. Так что реакция адекватная, я считаю.

Я обратил, как и на то, что когда создали тикет, под угрозой уже был запуск проекта. Но это не так важно, как тикет, разумеется /sarcasm off

Может вам повезло, и менеджер вашего проекта не настолько общительный, как в моём проекте. В моём же случае вскакивать кабанчиком по каждому прилетевшему сообщению/запросу в личку, значит не закрыть никогда ни одной из задач.

Да и ситуация показалась мне абсурдом. К тому же проблему разрешил я, меньше чем за 9 часов после репорта. Так что вашу критику не принимаю.

Только с браузерами в статье какая-то непонятная котовасия. Если я правильно понял и все проблемы были в Edge, то анализ и переводы там вполне могли оказаться не от Google, а от Microsoft, поэтому бочку катить на гугл в этой ситуации несколько странно. Аналогично с регистром вредоносных сайтов - источник конечно гугловый, но всякие семантики определения могли быть изменены в MS. И именно MS галлюцинировала, а не гугл.

Началось с Edge, но потом ошибка стала всплывать везде (Edge, Chrome, Firefox)

Нет ли статьи, где часть текста на арабском и часть на другом языке? Что подумает браузер и какой язык надотуказать чтобы не ругался?

У нас есть сводные таблицы, где есть как минимум два языка. Я сказал редакторам, чтобы ставили правильные директивы, но таблицы там огромные, и разумеется они пока ничего не исправили.

Атрибут lang можно ставить в том числе на отдельные элементы

Да, мы так и делаем теперь.

У тут после НГ прикол от Гугл Бизнес прилетел. Можно заполнить все данные в Гугл Бизнес, но сам Гугл их пытается "исправить". На днях ГБ посчитал, что указанный сайт компании не верен и удалил ссылку! Другие данные тоже правятся "по решению Гугла" на неправильные.

Как победить неронку в Гугл Бизнес ?

Спасибо, отличная статья! Не длинная, даже с небольшой интригой

Интересно, слежка за страницами и их содержимым прямо в браузере когда-то играло на руку пользователям, а не разрабам...

Интересно, почему никого не беспокоит встроенный а хром переводчик. Ведь для перевода он отправляет страницу в гугл. Когда организация в которой я работаю перешла на хром я знатно удивился, открыв один из внутренних сайтов с испанским контентом, увидел автоперевод. Тегов с языком там не было. Он просто по контенту решил что это испанский и надо мне перевести. А так-то там может быть конфиденциальная информация, данные клиентов и т.д.

Да ладно бы просто перевести, а как оказалось оно еще и анализирует то, что перевела. И, чудным образом другие браузеры знают, что это - "вредная" страница.

Интересно, почему никого не беспокоит встроенный а хром переводчик.

Альтернатив нет. Над локальным переводом работает Mozilla, но качество перевода на русский там такое, что спасибо, не надо.

Тут не вопрос наличия альтернатив, а вопрос в самой возможности не сильно спрашивая взять и перевести (слить непонятно куда контент, который может быть ДСП или хуже).

Вот поэтому НИКОГДА не работайте в интрасети в браузере хром (и плохо изолированных от хрома форках - таких, как ёж). Эти уродцы с лёгкостью сольют в гугл любую приватную информацию. Да ещё и с галлюцинациями и доносами, оказывается.

Просто всегда ставьте robots.txt с запретами даже для отладочных сайтов и всё.

Не просто и не всё. Утечка из браузера происходит мимо роботса.

Это уже потом ИБшники будут удивляться, какого фига гугловский паукан пытается обращаться по внутренним урлам (и ему за это иногда дают по хелицерам).

И натравление паукана на внутренние сайты - лишь одна из проблем. Пример другой проблемы показан в статье. Где там роботс? Нигде.

Внутренний урл с большой вероятностью может оказаться прямо на ноуте сидящего в кофейне разработчика, а откуда вообще возьмётся служба безопасности в типовом интернет сервисе или магазине и вовсе непонятно.
Самое веселье будет, когда "внутренний урл" окажется с сертификатом настоящего прода (копия прода для финального прогона). Или вообще без сертфиката, но с настоящим доменом. Или на другом домене и с другим сертификатом, но с сильно совпадающей (ясен перец) с продом информацией. Вот тут Гугл может без robots.txt может очень интересных сюрпризов устроить.
На автор из поста при ненастроенном robots.txt гарантированно получил бы проблем ещё и с поисковиком, но просто не успел.
robots.txt с запретом нужно привыкнуть класть вообще везде, включая локальные проекты на локальных тестовых серверах.

класть вообще везде, включая локальные проекты на локальных тестовых серверах

Проще говоря, показывать не только Гуглу, а вообще всем встречным и поперечным, где у вас лежат секреты

Каким таким образом вы что-то показываете имея файл, в котором три строки текста запрещающие индексирование на всём домене?

Сидящий в кофейне разработчик вполне может подключиться к интрасети своей конторы через VPN своей конторы. И это будет то же самое, что сидеть непосредственно в конторе. Всякая там жира, почта, панели управления... которые наружу в принципе не торчат.

И всё было бы хорошо, но у него оказывается есть кейлоггер в лице любимого хромчика или ёжика.

Справедливости ради, если сидящий в кофейне разработчик "подключается к интрасети своей конторы через VPN своей конторы", то в этот момент любимый хромчик или ёжик по определению не могут иметь выход в окружающий тырнет иначе как чем через шлюз конторы — и тогда зарезать идущий незнамо куда непонятный трафик — святая обязанность одмина.

Ну залогируют, и отправят оптом.

Как отправят? Лэптоп (во всяком случае, в теории) должен быть всегда подключен к сети конторы (через то-что-теперь-нельзя-называть), а админ должен сеть конторы так настроить, чтобы левые пакеты куда попало не выпускать.

По условию задачи он сидит в кафе. Упал туннель, слетела маршрутизация, и вот вы снова в открытой сети.

Ну или вы сами наработались и решили посмотреть котиков. Разумеется, закрыли все уязвимые приложения и страницы, но кэш-то остался у браузера.

p.s. я не утверждаю, что браузеры кэшируют шпионскую информацию для отправки потом, но не вижу принципиальных проблем, не позволяющих это делать.

Если на машине в принципе отсутствует доступ в Интернет, то не сольет.

Программист, работающий без интернета это круто.

Если машина в сети, в который используются какие-то критичные сервисы с информацией ограниченного доступа, да ещё и через браузеры типа Хром, наличие на такой Интернета - вот, что не круто.

Программист, работающий без интернета это круто.

Ви таки будете смеяться, но года так до 2000-го так работали чуть менее, чем все.

Я таки уже во всю программировал тогда. Вот только производительность труда и сложность проектов сильно разная тогда и сейчас.

Ну дык и я тоже. По себе и говорю.

Объективно без интернета было сложнее. А гит можно и локальный использовать.

Объективно без интернета было сложнее.

А по вечерам, дочка, папа работал ксероксом,
потопу что документация сама себяиз библиотечной книжки не перепишет!
потопу что документация сама себя
из библиотечной книжки не перепишет!

Как это знакомо. А учитывая что иногда такие книги в библиотеках пользовались сильным спросом, то срок нахождения на руках читателя сокращался в разы. И приходилось писать, писать и писать. :)

есть кстати еще прикол с этим "safe browsing" - можно без особых усилий заблокировать чужой не супер популярный сайт, достаточно пожаловаться в пару сервисов на фишинг и мальварь, как выяснилось там никакой модерации и проверки нет ;) а гугл и другие сервисы оттуда в том числе подхватывают данные

А каким образом браузер смотрел "закрытые" страницы? Странно, если он просто адрес страницы перебирает

а еще можно было прочитать спецификацию html5 и узнать из нее, что атрибут lang может и обязан ставиться на каждый фразовый контент в случае если страница мультиязычная.

после чего убедиться что google, строго в соответствии со стандартом интерпретирует подобное поведение стандарта

Sign up to leave a comment.

Articles