<rmcreative>

RSS

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

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

  1. Yii 2.0.4

    11 мая 2015

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

    Комментировать
  2. 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 комментариев
  3. Видео с лекции по архитектуре Yii 2 от Павла Климова

    3 апреля 2015

    Павел Климов, член основной команды разработчиков Yii, провёл лекцию по архитектуре Yii 2. Zfort Group выложили видео:

    Презентация

    16 комментариев
  4. Yii 2 собирается разделить репозиторий

    21 марта 2015

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

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

    Читаем

    30 комментариев
  5. yii2-shop, код с мастер класса в Екатеринбурге

    10 марта 2015

    Немного привёл в порядок и выложил код с мастер класса в Екатеринбурге. В нём отражена попытка создать витрину магазина на основе шаблона advanced.

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

    26 комментариев
  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. Лучше изучите его и не теряйте время.

    19 комментариев
  8. YiiGist - каталог расширений Yii

    4 февраля 2015

    До этого момента у Yii не было нормального каталога пакетов. Команда Yii занимается новой версией сайта, но пока не всё готово и релизить нельзя. Официально мы рекомендовали использовать packagist.org и искать там "yii". Это более-менее работало, но было не совсем удобно. Думаю, поэтому сообщество запустило неофициальный проект YiiGist.

    YiiGist позволяет зайти используя GitHub и пометить один или несколько репозиториев как пакет Yii 1 или Yii 2. Все помеченные пакеты доступны в каталоге. Есть поиск, информация вытягивается как из GitHub, так и из packagist.

    http://yiigist.com/

    Как вам?

    20 комментариев
  9. История Yii

    2 февраля 2015

    Prado

    В июне 2004-го Qiang Xue релизнул первую версию фреймворка PRADO. Вдохновение он черпал из Apache Tapestry, Borland Delphi и Microsoft ASP.NET.

    Примерно в это же время Zend затеяли конкурс по переходу на PHP5, известный также как gophp5. Qiang переписал фреймворк на PHP 5 и выиграл конкурс.

    В то время проект хостился на SourceForge. В середине 2005 Wei Zhuo помог с i18n и l10n, что вылилось в версию 2.0.

    В мае 2005 было решено переписать проект, включив в него новые фишки Microsoft ASP.NET 2.0. В апреле 2006 была выпущена версия 3.0. Начиная с неё команда занималась, по большей части, качеством кода и его стабильностью.

    PRADO всё ещё жив и используется относительно активно.

    Yii

    В октябре 2006 Qiang анонсировал альфу Yii на форумах PRADO.

    Третьего декабря 2008 вышла версия 1.0.0. Много всего было взято из PRADO: ActiveRecord, i18n, l10n и так далее. Также вдохновение черпалось из RoR (соглашения и некоторые фичи AR), symfony1 (фильтры и плагины) и Joomla (модули и перевод сообщений).

    Yii 1.0.0 был гораздо быстрее остальных фреймворков, обладающих сходной функциональностью и сообщество быстро разрослось.

    В январе 2010 вышел Yii 1.1, давший нам построитель форм, реляционные запросы AR, готовый каркас для unit-тестов и многое другое.

    Я присоединился к команде в 2010. В конце года мы начали обсуждать Yii 1.2 не прекращая разрабатывать 1.1. В мае 2011 было решено перейти на новые версии PHP и поправить архитектурные ошибки. То есть делать сразу 2.0. Был сделан первый коммит в тогда ещё секретный репозиторий.

    В мае 2013 код был выложен на всеобщее обозрение. В октябре 2014 состоялся первый стабильный релиз Yii 2.0.

    6 комментариев
  10. С 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
    

    Читаем

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