Рубрика «php» - 18

Бывает, когда меня нанимают починить или взять на поддержку сайт, то я открываю его исходники и хочу воскликнуть: "А у кого вы его украли?" Потому что качество исполнения и сложность технологий значительно превосходят обыденные для такого класса сайтов. После того как я озвучиваю цену за поддержку подобного сайта и получаю в ответ недоумение, мне хочется уже кричать: "Что происходит?!"

Читать полностью »

Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
php-spx logo webmageic
Читать полностью »

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование - 1

Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Читать полностью »

Всем доброго времени суток! Продолжаю свой рассказ о том, как "Войти в IT" без подгляда. Прошлая часть была посвящена, в основном, обучению. В этой больше расскажу о работе.

Читать полностью »

Предыстория

Возьмём приложение «Проверка чека» и разберемся что оно делает и зачем ваще кому-то понадобилось проверять чеки с помощью приложения.

Суть приложения «Проверка чеков»
Суть приложения «Проверка чеков»

Я не помню как это работало раньше, но с 2016-2017 годов, благодаря 54-ФЗ «О применении ККТ» появились некие Читать полностью »

Недавно мы решили узнать, чем помимо пандемии 2020-й запомнится пхп-разработчикам — кто что читал, смотрел, над чем работал. Получив свыше 1500 ответов, мы сели их разбирать. Вот что получилось.

Этот материал — часть презентации итогов 2020-го в русскоговорящем сообществе. Больше данных — рейтинги компаний, популярность фреймворков в рабочих проектах и не только, вы можете найти в видеоверсии и на этом сайте

Как мы получили данные и кто давал ответы

В конце ноября мы провели стрим с Никитой Поповым и Дмитрием Стоговым, ключевыми контрибьюторами ядра PHP. За полчаса мы получили 100+ вопросов и ребята не успели ответить на все. Поэтому я сгруппировал оставшиеся сообщения по темам, отсеял совсем специфические и собрал ответы в текстовом виде. Все острые и холиварные вопросы оставил.

PHP 8 и развитие языка в 30 вопросах и ответах - 1

Готовя ответы, по многим пунктам я консультировался с Никитой и другими активными участниками сообщества. Кстати, в эту субботу, 27 февраля, мы проводим новый стрим! Будет пара докладов, несколько дискуссий, интересные гости и возможность задать новые вопросы. Читайте те, что под катом и подключайтесь, чтобы задать новые.
Читать полностью »

Невидимые символы, скрывающие веб-шелл в зловредном коде на PHP - 1

В ноябре мы писали о том, как злоумышленники используют инъекции JavaScript для загрузки зловредного кода из файлов CSS.

Поначалу незаметно, что эти инъекции содержат что-то, кроме безобидных правил CSS. Однако при более тщательном анализе файла .CSS обнаруживается 56 964 кажущиеся пустыми строки, содержащие сочетания из невидимых символов табуляции (0x09), пробелов (0x20) и переводов строки (0x0A), которые преобразуются в двоичное представление символов, а затем в текст исполняемого кода на JavaScript.

Вскоре мы обнаружили такую же схему использования и во вредоносных программах на PHP. В статье мы расскажем о том, что обнаружил аналитик вредоносного ПО Лиам СмитSmith, работая недавно над сайтом, содержащим множество загружаемых хакерами бэкдоров и веб-шеллов.
Читать полностью »

SafetyNet Attestation — описание и реализация проверки на PHP - 1

В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.

Читать полностью »

Через несколько дней заканчивается голосование по первой итерации реализации enum в PHP 8.1 . Уже видно, что голосов “за” гораздо больше, так что давайте кратко пройдемся и посмотрим, что же нам приготовили авторы языка.

Зачем нужны enum?

Зачем вообще нужны enum? По сути они служат цели улучшенного описания типов. Давайте рассмотрим пример без енумов и с ними. Допустим, у нас продаются машины трех цветов: красные, черные и белые. Как описать цвет, какой тип выбрать?

class Car {
    private string $color;

    function setColor(string $color): void {
        $this->color = $color;
    }
}

Если мы опишем цвет машины как простой string, то во-первых при вызове $myCar->setColor(..) непонятно, что за строку туда писать. “red” или “RED” или “#ff0000”, а во вторых, легко ошибиться, просунув туда случайно что-то не то (пустую строку, к примеру). То же самое будет, если использовать не строки, а числа, например.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js