<rmcreative>

RSS
  1. Highload++ Junior 2015, отчёт

    24 мая

    Вернулся из Москвы с конференции по нагрузкам, прошедшей в рамках РИТ++. Свой доклад, слайды которого можно полистать стрелочками на http://slides.rmcreative.ru/2015/horizontal-scaling-highload/, рассказал в первый день с самого утра. Получилось хорошо. Вопросы и обсуждения не прекращались все два дня.

    Видео писалось, но в каком виде и когда оно будет доступно я не знаю. Спрашивайте у организаторов.

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

    1 комментарий
  2. Перестаньте использовать mcrypt

    13 мая

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

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

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

    И что делать?

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

    7 комментариев
  3. Yii 2.0.4

    11 мая

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

    Комментировать
  4. Highload++ Junior

    7 мая

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

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

    10 апреля

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

    3 апреля

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

    Презентация

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

    21 марта

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

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

    Читаем

    30 комментариев
  8. Слайды с Dump 2015

    21 марта

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

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

    Слайды

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

    10 марта

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

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

    19 комментариев
  10. HTTP/2

    3 марта

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

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

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

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

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