❌

Normal view

N+1 в Eloquent: воспроизводим на стенде, считаем запросы и закрываем регрессии тестами

Про N+1 в Laravel обычно пишут три строки про with() и расходятся. Я собрал небольшой стенд на Laravel 13 и SQLite, воспроизвёл проблему, посчитал запросы для каждого способа лечения и проверил, что «не ловится» режимом запрета ленивой загрузки. Отдельно разобрал места, где eager loading не помогает или сам создаёт нагрузку. Все числа в статье получены на этом стенде на искусственных данных.

Читать далее

Эра AI-Driven Zero-Day: как уязвимость PHP2Shell навсегда изменила DevSecOps и кибербезопасность

Прошла неделя с «чёрной среды» 21 октября, когда европейские правительства экстренно гасили свои веб-сервисы из-за критического RCE в ядре PHP (CVE-2026-109618 / 19). Первая волна паники и ночных патчей улеглась, и самое время признать главное: инцидент PHP2Shell — это не просто очередной громкий баг. Это водораздел, разделивший кибербезопасность на «до» и «после».

Впервые в истории уязвимость уровня CVSS 10.0 в элементе инфраструктуры, удерживающем ~70% веба, была найдена ИИ-моделью нового поколения в рамках автоматического аудита.

Давайте разберем, почему правила игры изменились навсегда и как индустрии придется адаптироваться к реальности, где нейросети ищут zero-day быстрее, чем люди пишут код.

Проблема парсинга multipart/form-data в PHP годами оставалась в «слепой зоне». Этот кусок кода не трогали десятилетиями из-за священной коровы PHP — обратной совместимости. Человек, глядя на этот код, подсознательно доверял ему: «Раз оно работает с 2000-х и до сих пор не упало, значит, там всё проверено».

ИИ-модели (в данном случае GPT-5.6 Sol от Calif и наработки Wiz) лишены человеческих когнитивных искажений и авторитетов. Нейросеть просто скормила ядро PHP математической модели, построила граф зависимостей и нашла пограничное состояние (edge case), при котором обработка POST-запроса приводила к переполнению буфера до того, как управление передавалось самому веб-приложению.

Главный вывод: ИИ доказал, что «проверенный временем код» — это миф. Нейросети стали идеальными археологами уязвимостей.

Читать далее

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

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

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

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

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