GyaanSetu PHP

PHP, Laravel и WordPress.

28 articlesDeep, practical knowledge

Laravel 13 заменяет $fillable, $table и $casts на нативные атрибуты PHP

Laravel 13 внедряет встроенные PHP-атрибуты для конфигурации моделей, позволяя заменить традиционные свойства $table, $fillable и $casts на типизированные аннотации на основе рефлексии без нарушения работы существующего кода.

PHP · 4 мин чтения

Блокировка wp-cron.php на уровне сервера для экономии PHP-воркеров и предотвращения скачков нагрузки на CPU

Параметр DISABLE_WP_CRON = true лишь предотвращает выполнение WordPress собственных loopback-запросов; при этом URL wp-cron.php остается доступным, что позволяет злоумышленникам проводить атаки, исчерпывая PHP-воркеры и вызывая отказ в обслуживании (DoS) на виртуальных хостингах.

PHP · 4 мин чтения

Исправление InvoiceShelf устраняет уязвимость с оценкой 8.7, позволявшую любому владельцу захватывать аккаунты других арендаторов

Уязвимость была вызвана механизмом route-model binding в Laravel и отсутствием проверки области видимости арендатора (tenant-scope check), что позволяло владельцу запрашивать любой ID пользователя и перезаписывать учетные данные, фактически перенося аккаунт жертвы в компанию злоумышленника.

PHP · 2 мин чтения

Разработчик Magento сократил количество запросов к БД в 300 раз, но товары без остатка исчезли

Замена 300 вызовов репозитория для каждого товара одним запросом коллекции позволила резко сократить число запросов, но встроенный фильтр наличия Magento удалил все SKU с нулевым остатком, из-за чего покупатели увидели неполный каталог.

PHP · 3 мин чтения

TrendVidStream заменяет 30-дневные JWT на одноразовые refresh-токены после взлома

SDK партнера кэшировал 30-дневный JWT в открытом виде, что позволило злоумышленнику повторно использовать его из-за границы. Утечка вынудила TrendVidStream заменить долгоживущие JWT на 15-минутные access-токены и одноразовые refresh-токены, которые обеспечивают немедленный отзыв при повторном использовании.

PHP · 3 мин чтения

Разработчики теряют часы на экране подтверждения email в WP — вот решение в одну строку

Начиная с WP 5.3, страница подтверждения email администратора появляется каждые несколько месяцев, заставляя автоматические запуски Playwright ждать кнопку, которая так и не появляется. Быстрая проверка URL и клик по кнопке «I’ll wait» восстанавливают детерминированность автоматизации.

PHP · 3 мин чтения

Новые правила электронного выставления счетов в Хорватии с 2026 года вынуждают PHP-приложения переписать 62 правила валидации

С 1 января 2026 года каждая B2B-транзакция в Хорватии должна проходить проверку через файл Schematron, написанный на XSLT 2.0, однако встроенная библиотека libxslt в PHP поддерживает только XSLT 1.0. Чтобы процесс выставления счетов не остановился, разработчикам придется либо добавить нативное расширение Saxon-C, либо использовать внешний сервис, либо переписать все 62 проверки на PHP.

PHP · 4 мин чтения

Видеоплатформа переходит с SQLite FTS5 на OpenSearch, чтобы в 10 раз сократить число пустых результатов поиска

Команда сохранила SQLite в качестве основного хранилища и развернула реплику OpenSearch только для чтения с многоуровневой релевантностью и оптимизированным нечетким поиском, что позволило в 10 раз сократить количество пустых результатов при сохранении медианной задержки ниже 28 мс.

PHP · 3 мин чтения

Политика SEO-команды «noindex» для категорий с < 3 объявлениями превратила страницы категорий в «исчезающий трюк»

Новая таблица «seo_unlocks» фиксирует момент, когда в категории появляется третье активное объявление, делая страницу доступной для индексации на постоянной основе. Это предотвращает прежний цикл, когда страницы исчезали из Google, а на их возвращение уходили недели.

PHP · 3 мин чтения

Как двойной индекс OpenSearch-SQLite избавил пользователей латиницы от пустых результатов поиска

Направляя запросы сначала через нечеткое поле OpenSearch для латиницы и биграммный анализатор CJK, а затем переключаясь на SQLite FTS5 при таймауте, команда снизила долю пустых результатов до 2,1%, не превышая порог задержки в 20 мс.

PHP · 4 мин чтения

Cloudflare Workers свели нагрузку на CPU при генерации миниатюр видеосайта к нулю

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

PHP · 3 мин чтения

Когда люди слышат слово «аудит», они обычно представляют себе бухгалтеров, электронные таблицы и налоговый сезон. В программном обеспечении аудит

Когда люди слышат слово «аудит», они обычно представляют себе бухгалтеров, электронные таблицы и налоговый сезон. В программном обеспечении аудит — это совершенно иная дисциплина. Он не столько про баланс…

PHP · 4 мин чтения

Гидратация объектов кажется решенной проблемой, пока вы не начнете ее измерять. Вы извлекаете строку из базы данных, преобразуете массив

Гидратация объектов кажется решенной проблемой, пока вы не начнете ее измерять. Вы извлекаете строку из базы данных, преобразуете массив в объект и идете дальше. Большинство из нас относится к этому как к чему-то само собой разумеющемуся…

PHP · 5 мин чтения

Маркетинговая автоматизация с открытым исходным кодом не обязательно означает передачу ваших данных SaaS-провайдеру. Mautic позволяет управлять email-кампаниями

Маркетинговая автоматизация с открытым исходным кодом не обязательно означает передачу ваших данных SaaS-провайдеру. Mautic позволяет управлять email-кампаниями, отслеживанием контактов и взращиванием лидов на ваших собственных мощностях.…

PHP · 5 мин чтения

Количество просмотров — это первое число, которому доверяет посетитель. Оно подсказывает, стоит ли видео тридцати секунд или тридцати минут

Количество просмотров — это первое число, которому доверяет посетитель. Оно подсказывает, стоит ли видео тридцати секунд или тридцати минут его времени. В TopVideoHub это число растет быстро. А…

PHP · 6 мин чтения

PHP выполняет много однотипной работы на стороне сервера. Один запрос может потребовать сканирования папки с изображениями, о

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

PHP · 6 мин чтения

Your file exists() Is Secretly a Network Call

Your file exists() Is Secretly a Network Call You write this line a thousand times: if ( file exists( $path ) ) { It looks safe. It looks fast. But if $path points to an S3 bucket…

PHP · 2 мин чтения

PHP добавляет нативный Polling API, обеспечивая фиберам скорость на уровне ОС

Недавно интегрированный Polling API оборачивает epoll, kqueue и IOCP, позволяя циклу событий возобновлять работу фиберов одним системным вызовом. Бенчмарки показывают, что накладные расходы на конкурентность падают до нуля, а загрузка CPU остается стабильной даже при наличии десятков потоков.

PHP · 3 мин чтения

Optistream объединяет 12 плагинов WordPress в один без потери SEO на 1000 страницах

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

PHP · 4 мин чтения