<rmcreative>

RSS

Все заметки с тегом «Yii»

Можно уточнить:

  1. PHP frameworks day 2015, отчёт

    20 октября 2015

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

    Очень приятно было пообщаться со старыми знакомыми, развиртуалиться с членами php-fig, получить плюшевого слоника и отведать торта в честь юбилея PHP.

    Мой доклад прошёл, субъективно, отлично. Слайды из него доступны у меня на slides.rmcreative.ru. Переключаются стрелочками. В трансляции, которую, по крайней мере пока, можно посмотреть в записи, он тоже есть. Зал Kiev Ballroom. Самый первый.

    Остальные слайды и доклады тоже рекомендую посмотреть.

    Много-много отличных фото доступны на Facebook.

    1 комментарий
  2. Как не надо писать сравнения. Symfony2 vs Yii: какой фреймворк выбрать в 2015-м году?

    2 сентября 2015

    Почитал свежую статью отличной команды stfalcon. Оформлена она замечательно, читается приятно. В итоге Symfony почти безоговорочно рвёт Yii, но есть «нюансы», которые делают статью некорректной.

    Читаем

    23 комментария
  3. Форматирование сообщений для Yii::t()

    10 августа 2015

    На хабре появилась исключительно подробная статья, разбирающая возможности форматирования сообщений в Yii 2.0 через Yii::t().

    Очень рекомендую: http://habrahabr.ru/post/264009/

    3 комментария
  4. Yii 2.0 web shell

    8 августа 2015

    Релизнул модуль web shell для Yii 2.0:

    https://github.com/samdark/yii2-webshell

    12 комментариев
  5. Yii 2.0.6

    6 августа 2015

    Состоялся релиз PHP фреймворка Yii версии 2.0.6.

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

    Полный анонс можно прочитать на хабрe

    3 комментария
  6. Yii 2.0.5 (исправление безопасности)

    11 июля 2015

    Вышел Yii 2.0.5 исправляющий проблему с безопасностью, найденную в классе yii\web\ViewAction. Настоятельно рекомендуется обновиться. Обновление полностью совместимо с 2.0.4, содержит только исправление безопасности и не поломает ваш код.

    Уязвимость в ViewAction и заключается в возможности запускать любой PHP файл (или файл с расширением .php) на диске передав относительный путь через параметр view. Так как о проблеме сообщили через публичный трекер, мы исправили её и выпустили обновление немедленно.

    Для этой уязвимости мы зарезервировали номер CVE-2015-5467.

    11 комментариев
  7. Пятиминутка PHP, выпуск 9

    30 июня 2015

    Записался в подкасте «Пятиминутка PHP». Получилось не 5 минут, а пол часа. Говорили про php-fig, Yii и другие интересные штуки.

    Послушать можно на сайте проекта.

    17 комментариев
  8. Перестаньте использовать mcrypt

    13 мая 2015

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

    Почему его не стоит использовать

    mcrypt не обновлялся более десяти лет и не планирует. Авторы его забросили. В нём есть серьёзные недоработки.

    И что делать?

    Мы в Yii от него ушли в сторону OpenSSL, чего и вам советую. Реализовал переход, в основном, Tom Worster. У него есть серия интересных постов на тему.

    8 комментариев
  9. Yii 2.0.4

    11 мая 2015

    Релизнули. Написал анонс на хабр. Он не очень подробный, так что буду рад раскрытию CHANGELOG с примерами там в комментариях.

    Комментировать
  10. Yii 2.0 HP Fortify WebInspect SQL Injection: Blind

    10 апреля 2015

    Знакомые попросили проверить отчёт сканирования приложения Yii 2.0 на безопасность. Среди прочего HP Fortify WebInspect нашёл "SQL Injection: Blind" по URL:

    http://example.com/post/view?id=10%27%09and%091%09%3d%09if(5%3d5%2c%09sleep(200)%2c%090)%09and%09%271%27%3d%271
    

    что расшифровывается как

    `10'    and 1   =   if(5=5, sleep(2000),    0)  and '1'='1`
    

    То есть классически закрыли кавычку и т.д.

    Сделал тестовое приложение, запустил, получил страницу с постом с id = 10. То есть сканер среагировал на то, что нет ошибки или 404. Возможно, что SQL injection прошёл успешно.

    Полез в код, там ничего особенного:

    public function actionView($id)
    {
        $model = News::findOne($id);
        if (!$model) {
            throw new HttpException(404);
        }
        return $this->render('index', ['model' => $model]);
    }

    Полез глубже и убедился, что параметр не вставляется в SQL. Используется prepared statement, всё как положено. Задумался.

    Выполнил в консольке MySQL вот такое:

    select * from post WHERE id = '10lalalallala';

    Получил запись с id = 10 и вспомнил, что MySQL приводит строки к int-у почти как PHP. То есть, что бы мы не вставили после 10, MySQL переварит и не поперхнётся.

    В итоге:

    • С Yii всё хорошо.
    • HP Fortify нашёл то, чего нет, и пометил как критическое.
    7 комментариев