<rmcreative>

RSS
  1. Highload++ Junior

    7 мая 2015

    21 и 22 мая пройдёт конференция Highload++ Junior. Задумка её очень интересная — рассказать не очень подготовленным слушателям о том, как справиться с нагрузками. То есть от и до. Я буду рассказывать про горизонтальное масштабирование PHP приложений и всё, что с этим связано.

    10 комментариев
  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. Слайды с Dump 2015

    21 марта 2015

    Dump прошёл отлично. Отличный уровень организации, классные стенды, интересные доклады.

    На этот раз я рассказывал про HHVM, а не про Yii. Прошло хорошо.

    Слайды

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

    10 марта 2015

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

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

    26 комментариев
  7. HTTP/2

    3 марта 2015

    17 февраля 2015 вторая версия HTTP стала кандидатом на стандарт и уже поддерживается в Chrome (--enable-spdy4), Firefox, IE 11.

    Изменения, по сравнению с 1.1, значительные и серьёзно повлияют на веб-разработку в целом.

    HTTP/2 основан на SPDY. То есть используется одно TCP соединение для передачи в обе стороны нескольких запросов-ответов. Передаваемое при этом, включая заголовки, представляется в сжатом бинарном виде. В дополнение сервер может заранее отсылать не связанные с открытой страницей ресурсы в кэш браузера.

    То есть такие техники как спрайты, сжатие и сборка CSS/JS в один файл, отдельный домен без cookie для ресурсов, несколько доменов для ресурсов, становятся не нужны и даже вредны. Правильно будет отдавать ресурсы мелкими порциями только когда они реально нужны. То есть чтобы для каждой отдельно взятой страницы количество загружаемых ресурсов было минимальным.

    13 комментариев
  8. Yii 2.0.3

    2 марта 2015

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

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

    4 комментария
  9. Как поставить расширение на 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 комментария
  10. Буду на Dump 2015 в Екатеринбурге

    23 февраля 2015

    20 марта 2015 буду в Екатеринбурге на конференции Dump. Расскажу в секции «serverside light» про HHVM: зачем он Facebook, как он развивался, как устроен, можно ли использовать и насколько безболезненно. Также упомяну про HACK, phpng и другие занятные штуки.

    Вообще программа интересная, должно быть круто.

    Записывайтесь

    4 комментария