
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Многие аспекты CleverStyle Framework имеют альтернативную по отношению к большинству других фреймворков реализацию тех же вещей.
Данная статья достаточно подробно описывает устройство работы маршрутизации, примеры использования, а так же примеры того, как можно в этот механизм вмешаться, либо, при желании, полностью его заменить его на собственный.
Главное отличие маршрутизации от реализаций в популярных фреймворках типа Symfony, Laravel или Yii это декларативность вместо императивности.
Это значит, что вместо того, чтобы указывать маршруты в определённом формате и сопоставлять маршруту определённый класс, метод или замыкание, мы всего лишь описываем структуру маршрутов, и этой структуры достаточно для того, чтобы понять какой код будет выполнен в зависимости от маршрута.
Подобный подход конвенций вместо конфигураций удобен в том смысле, что требует меньше усилий во время написания кода, и не требует просмотра конфигурации для того, чтобы понять, какой код будет вызван при открытии определённой страницы, так как это очевидно из соглашения, принятого во фрейворке.
Читать полностью »
Всем привет! Я получал, и получаю множество писем от людей с вопросами по Squid, который работает на основе моей статьи. Наиболее часто возникает вопрос про просмотр логов Squid каким-либо парсером. Проблема в том, что версия Squid 3.5.8 с настроенным прозрачным проксированием HTTPS логирует посещаемые HTTPS ресурсы не в виде доменных имен, а в виде IP адресов с портами (прим. 164.16.43.56:443). Соответственно, при просмотре статистики посещений вместо человеческой информации проскакивают эти самые IP адреса. Собирать статистику с такими данными довольно сложно. Я связывался с разработчиками Squid по этому поводу, но внятного ответа так и не получил. Единственное, что я выяснил, нормальное логирование работает в более новых версиях Squid, но на них прозрачное проксирование лично у меня так и не заработало должным образом. Поэтому возник вопрос о том, как сделать резолв IP адресов в самом парсере логов.
Читать полностью »
Некоторое время назад вышел первый релиз ветки 5.x, а потом несколько меньших патч-версий, так что опять есть чего рассказать.
Предыдущие изменения: часть 1, часть 2, часть 3, часть 4.
Комментарии под предыдущей статьей и в чатиках были весьма полезными, отдельное спасибо fesor, который хоть и не согласен, но предоставляет конструктивную критику, которая имеет позитивные последствия.
Множество изменений сделали систему быстрее, легче и удобнее чем когда-либо до этого. В статье кратко об основных изменениях, их причинах и последствиях.
Читать полностью »
В данной статье постараюсь раскрыть основные нюансы реализации системы демонов для PHP и научить консольные команды Yii2 демонизироваться.
Последние 3 года я занимаюсь разработкой и развитием достаточно большого корпоративного портала для одной группы компаний. Я, какие и многие, столкнулся с проблемой, когда решение задачи, которую требует бизнес, не укладывается ни в какие таймауты. Сделайте отчетик в excel на 300 тыс. строк, отправьте рассылку на 1500 писем и так далее. Естественно, такие задачи должны решаться фоновыми заданиями, демонами и crontab-ами. В рамках статьи я не буду приводить сравнение кронов и демонов, мы для решения подобных задач выбрали демонов. При этом важным требованием для нас стала возможность иметь доступ ко всему, что уже написано для бэкенда, соответственно, демоны должны быть продолжением фрейворка Yii2. По этой же причине нам не подошли уже готовые решения типа phpDaemon.
Под катом готовое решение для реализации демонов на Yii2, которое у меня вышло.
Читать полностью »
Компьютер давно многим заменил телевизор, а что не хватает компьютеру для комфортного просмотра кино, сериалов и прочего? Мне лично не хватало пульта дистанционного управления.

Я не много увлекаюсь веб-программированием в свободное время. Было решено написать свой велосипед и заодно совместить приятное с полезным. Была изучена возможность с помощью консоли управлять компьютером, в первую очередь меня интересовал следующий минимальный объем задач (который немного увеличился в последствии):
С помощью известного поисковика нашел консольную программу, NirCmd, программа позволяет осуществлять достаточно много действий кроме указанных выше. С основной частью мы определились. Как я говорил, не много изучаю php, веб-сервер у меня как правило запущен постоянно, поэтому ничего специфичного в плане сервера я придумывать не стал. Сервер написан на php и состоит из двух классов: Control, который представляет собой методы которые исполняют консольные команды и Route, который делает валидацию приходящих запросов и исполняет методы класса Control.
Control выгладит вот так (код однотипный, поэтому я сократил):
Читать полностью »

Вопросы SEO-оптимизации и улучшения User eXperience, которые в определенный момент встали перед командой Wrike, потребовали значительного увеличения скорости работы наших веб-проектов. На тот момент их было порядка десяти (основной сайт, блог, справочный центр и т. д.). Решение по ускорению проектов было выполнено на основе связки Nginx + fastcgi cache + LUA + LSYNC.
Как-то мне пришла идея, что было бы неплохо иметь способ отправлять секретные сообщения замаскированные как обычные изображения. Результат я назвал Jailbird.
Однажды ты обнаружил себя запертым в камере и тебе понадобилось отправить на волю информацию, чтобы провернуть одно дельце, да так, чтобы охрана ничего не заметила? Чтож, ты нашел подходящее решение!
Ладно-ладно, я шучу, это просто эксперимент.
Сегодня я хотел бы показать вам, как можно сохранить "Гамлета" Шекспира в изображении практически незаметно. (Хе-хе, я думаю, у многих возникала проблема контробанды Гамлета куда-либо...)

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
В среду эксперты «Лаборатории» из команды GReAT (Global Research and Analysis Team) отвечали на вопросы пользователей сайта Reddit. Одной из ключевых тем обсуждения стала аттрибуция сложных кибератак. Тема изначально непростая. По понятным причинам инициаторы таких атак никак не анонсируют свои действия, а скорее максимально затрудняют расследование, используя массу способов сохранить анонимность. Остаются только косвенные доказательства. Какие именно, можно посмотреть в этом комментарии: язык (человеческий) в коде, время компиляции вредоносных файлов (может указывать на определенный часовой пояс), типичные цели, IP-адреса, куда в итоге уводятся данные и так далее. Проблема в том, что все эти данные легко подделать, направив расследование в ложном направлении. Именно поэтому наши эксперты в своих отчетах скорее приводят факты, чем делают обобщения.
Не добавляет ясности и постоянно растущая «политическая» составляющая кибератак. Технологии проникли в нашу обычную жизнь так, что неизбежно обсуждаются не только технарями. И решения принимаются, увы, не только на основе сухих фактов. В том же треде приводятся два примера позитивного взаимодействия между экспертами и обществом: (1) совместная работа вендоров и полиции по блокированию активности троянов-вымогателей и (2) любые инициативы по обмену информацией об угрозах между исследователями и потенциальными жертвами, безопасным способом. Кстати, один проект из первой категории мы недавно анонсировали: Европол, полиция Нидерландов совместно с «Лабораторией» и Intel Security запустили новый сайт, на котором жертвы криптолокеров могут получить информацию для расшифровки данных без выплаты выкупа.
Впрочем, вот этот ответ из треда на Reddit мне показался лучшим:
Вопрос: Так как мы должны произносить Kaspersky? Каспер скай, Каспер скии или КаспЕрскии? Или как?
Ответ: Да.
Там же есть интересное обсуждение личной безопасности в сети, с применением Windows, Маков и Linux. Перейдем к новостям. Все выпуски дайджеста — тут.
Читать полностью »