<rmcreative>

RSS

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

  1. Yii 2.0.6

    6 августа 2015

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

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

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

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

    11 июля 2015

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

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

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

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

    30 июня 2015

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

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

    17 комментариев
  4. 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 комментариев
  5. Yii 2 собирается разделить репозиторий

    21 марта 2015

    Для ускорения процесса релизов и того, чтобы придать официальным расширениям большую независимость мы думаем разделить расширения и шаблоны приложений на отдельные проекты GitHub. Ниже приведён предварительный план. Прежде чем что-либо менять мы хотели бы услышать ваше мнение и возможные предложения. Спасибо!

    UPD: отклик был положительный, разделили.

    Читаем

    30 комментариев
  6. Yii 2.0.3

    2 марта 2015

    Точно в срок вышел релиз PHP фреймворка Yii версии 2.0.3. В данную версию вошли около 50 улучшений и исправлений.

    Подробнее можно почитать в анонсе на хабре.

    4 комментария
  7. Как поставить расширение на Yii 2.0 без Composer

    24 февраля 2015

    Не первый раз спрашивают, как поставить расширение Yii 2.0 без Composer. Отвечаю.

    Ставить будем yii2-imperavi-widget.

    • Идём в https://github.com/vova07/yii2-imperavi-widget/releases, забираем архив.
    • Смотрим его composer.json.
    • Там у нас есть секция autoload, в ней упоминание PSR-4 и vova07/imperavi.
    • Распаковываем файлы в vendor/vova07/imperavi.
    • В vendor/composer/autoload_psr4.php добавляем:
    'vova07\\imperavi\\' => array($vendorDir . '/vova07/imperavi/src'),
    • В vendor/yiisoft/extensions.php добавляем:
    'vova07/imperavi' => array (
        'name' => 'vova07/imperavi',
        'version' => '2',
        'alias' => array (
            '@vova07/imperavi' => $vendorDir . '/vova07/imperavi/src',
        ),
    ),

    Всё это делает за вас Composer. Лучше изучите его и не теряйте время.

    22 комментария
  8. С Yii 1.1 на Yii 2.0, часть 3: приложения

    13 января 2015

    В 1.1 был только один шаблон приложения, который можно было развернуть через yiic webapp после того, как вы скачаете сам фреймворк. Команда копировала шаблон приложения из директории фреймворка в указанную вами директорию.

    В 2.0 шаблоны, как и всё остальное, ставятся через Composer. Ничего предварительно скачивать не нужно. Команда напоминает команду из 1.1, разве что указывается из какого пакета ставить шаблон:

    composer global require "fxp/composer-asset-plugin:1.0.0"
    composer create-project --prefer-dist yiisoft/yii2-app-basic my/dir/basic
    

    Читаем

    10 комментариев
  9. Yii 2.0.1

    8 декабря 2014

    Релизнули 2.0.1. Версия полностью совместима. Вмеру багфиксов и новые возможности.

    Полный анонс на хабре

    14 комментариев
  10. Проведу мастер класс по Yii в Екатеринбурге

    28 ноября 2014

    13 декабря 2014 проведу мастер-класс в Екатеринбурге. Целый день буду рассказывать о Yii, подходах к программированию, работе в команде и ещё много о чём. Всё на примере более-менее реального проекта — магазинной витрины.

    Почитать примерный план и записаться можно на it-people.ru

    27 комментариев