Блог веб-программиста

Здравствуйте, меня зовут Денис, я веб-программист. Занимаюсь веб-разработкой около 10 лет. Владею PHP, MySQL, HTML5 (bootstrap), jQuery. Специализируюсь на разработке серверной части (backend) для сайтов и веб-приложений. Работаю на Yii фреймворке. Есть опыт реализации крупных проектов с нуля, навыки координирования работы небольших команд. В работе использую git, паттерны проектирования, миграции, модульные тесты.

Ручная валидация CSRF токена в GET запросах

В Yii фреймворке реализована автоматическая защита POST запросов от CSRF атак, но если вдруг требуется использовать GET запросы, то этот механизм не работает. Для GET запросов метод validateCsrfToken компонента yii\web\Request всегда возвращает true.

Читать дальше

Единая архитектура модулей для advanced и basic приложений на Yii 2

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

Читать дальше

Принудительная установка версии php в composer

Принудительная установка версии php в composer необходима когда требуется работать с проектом на нескольких серверах и на основном установлена свежая версия php, а на остальных более старые. Приведу пример конкретной ситуации, я развернул yii2-advanced приложение на компьютере с php 7.1, он создал composer.lock файл, который я пробую использовать на сервере. Но на сервере установлен php 7.0, и даже эта разница не позволяет установить библиотеки приложения на сервер.

Читать дальше

Loginza не работает с HTTPS?

На одном из сайтов где использовалась авторизация через сервис Loginza включили SSL сертификат, работа с сайтом стала только по HTTPS протоколу, и Loginza перестала работать. Не сразу, но решение найти получилось.

Читать дальше

Множественное число в Yii 2.X

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

Читать дальше