Все записи категории ‘Программирование’

SQL-инъекция: как работает и как защититься

 10 Июл, 2025

SQL-инъекция (SQL Injection) — это распространённая и весьма опасная уязвимость веб-приложений. Она позволяет злоумышленнику вмешиваться в SQL-запросы, исполняемые на сервере, и получить несанкционированный доступ к данным, изменить их или даже удалить. При этом, злоумышленнику часто достаточно иметь доступ к фронт-енд сайта или приложения, где он экспериментирует с передаваемыми на сервер параметрами.

Этот процесс также не сложно автоматизировать.

Читать далее »

А что такое SERIAL и чем он отличается от INT?

 7 Июл, 2025

В SQL, когда вы создаёте поле для идентификатора (id), ключа в таблице, часто используется либо INT, либо SERIAL. Они похожи, но не совсем одно и то же.

Читать далее »

Первичный и внешний ключ в SQL : простое объяснение

 7 Июл, 2025

Когда вы впервые сталкиваетесь с базами данных, всё кажется немного запутанным: таблицы, строки, какие-то «ключи»… Но если объяснить это на живых примерах — всё становится куда яснее. Давайте разберёмся, что такое первичный ключ, внешний ключ, и ещё одно важное пон — суррогатный ключ.

Читать далее »

SQL-антипаттерны: плохие JOIN’ы и как их избежать

 6 Июл, 2025

JOIN — один из мощнейших инструментов в SQL. Но с большой силой приходит большая ответственность. Неверное использование JOIN может приводить к дублированию строк, утечке производительности, неявным ошибкам и даже разрушению логики приложения.

В этой статье рассмотрим примеры антипаттернов при использовании JOIN’ов, объясним, почему они плохи, и как их избегать.

Читать далее »

JOIN vs UNION — в чём разница?

 4 Июл, 2025

Эти два оператора в SQL на первый взгляд делают похожее — они «объединяют» таблицы. Но делают это по-разному и для разных целей.

Читать далее »

Что такое CROSS JOIN

 4 Июл, 2025

Конструкция CROSS JOIN в SQL — это один из видов JOIN, который создаёт декартово произведение двух таблиц: каждая строка из первой таблицы соединяется со всеми строками второй.

Читать далее »

Как получить код языка по умолчанию в Drupal

 4 Июл, 2025

В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ:

Читать далее »

urlencode vs rawurlencode: разница и примеры в PHP

 3 Июл, 2025

Если вам нужно передать данные в URL в PHP, вы наверняка сталкивались с функцией urlencode(). А может быть, слышали и о rawurlencode(). И ещё третья функция — http_build_query() — всплывает в ответах на форумах и в рекомендациях официальной документации.

Читать далее »

Настройка ЧПУ в Drupal 10: path_alias, Pathauto и Token

 2 Июл, 2025

Drupal — мощная, гибкая и в то же время довольно сложная CMS. Один из важных аспектов SEO и удобства пользователей — это ЧПУ (человекопонятные URL). В этой статье мы рассмотрим, как настроить такие адреса в современных версиях Drupal (9 и 10) с помощью ядра и популярных модулей.

Читать далее »

Unit-тесты в Drupal 11: настройка PHPUnit и примеры запуска

 30 Июн, 2025

Если вы только начинаете писать тесты в Drupal, то официальная документация — первое место, куда стоит заглянуть. Однако она не всегда отвечает на все вопросы новичков. В этой статье разберём несколько моментов, которые часто вызывают недоумение.

Читать далее »