❌

Reading view

Чёрный октябрь уязвимостей: что задело мой сервер, как я закрыл дыры и почему ушёл на статику без инлайн-скриптов

У меня круглосуточно работают агенты мониторинга: они собирают бюллетени безопасности и сверяют их с тем, что стоит на серверах. В октябре они подняли сводку: 15 уязвимостей за месяц, все «critical» и «high» — PHP, Nginx, Node.js, Next.js, Java, GitLab. Я проверил каждую строку руками: что это на самом деле, задевает ли меня и чем это лечится.

Итог: две строки меня действительно задели — Node.js был не обновлён четыре дня, а заплатки Nginx не стояли, хотя автообновление включено. Две строки оказались не тем, чем кажутся. А PHP-уязвимости меня не задели по самой простой причине: PHP на сервере нет.

В статье — разбор всех 15 с командами проверки и лечения, почему я снял с сайта все сторонние скрипты и не оставил ни одного инлайн-скрипта, строгая CSP целиком, дыры, которые я нашёл у себя за два месяца, и чек-лист.

Читать руководство
  •  

ПаровоJSик: как мы не нашли тренажер для JS/TS‑собеседований на русском и сделали свой

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

Готовиться к таким задачам на русском оказалось почти негде, особенно если вы пишете на JS или TS не только во фронте, но и на бэке. Поэтому мы сделали ПаровоJSик. Под катом рассказываем, что внутри, как тесты запускаются прямо в браузере и что будет дальше.

По вагонам!
  •  

Читать свои книги без подписок и DRM: как устроена Readora

У многих дома лежит папка с сотнями книг в FB2 — и почти ни одного удобного способа читать их где угодно. Десктопные читалки не синхронизируют прогресс, онлайн-сервисы требуют подписку и не принимают «свои» файлы, а связка Calibre с облаком — конструктор для энтузиаста. Рассказываем, как эту проблему решили браузером, PostgreSQL и открытым кодом — и почему в итоге всё свелось к скучному и предсказуемому стеку.

Но обо всём по порядку.

Погнали
  •  
❌