Prepared statements в Manticore Search
Представьте, что вы создаёте мощное поисковое приложение. Пользователи вводят ключевые слова, а ваш бэкенд должен выполнять запрос к базе данных Manticore Search, чтобы найти подходящие результаты. Распространённый (и соблазнительный!) подход — напрямую вставлять ввод пользователя в SQL‑запросы. Например, вы можете ...
Представьте, что вы создаёте мощное поисковое приложение. Пользователи вводят ключевые слова, а ваш бэкенд должен выполнять запрос к базе данных Manticore Search, чтобы найти подходящие результаты. Распространённый (и соблазнительный!) подход — напрямую вставлять ввод пользователя в SQL‑запросы. Например, вы можете фильтровать по числовому полю, такому как категория или идентификатор записи. Если пользователь передаёт обычное значение, например 5, запрос будет SELECT FROM products WHERE id=5. А что, если он передаст 1 OR 1=1? Запрос станет SELECT FROM products WHERE id=1 OR 1=1 — условие всегда истинно, поэтому запрос вернёт все строки вместо одной. Это SQL‑инъекция.К счастью, существует более безопасный и эффективный способ: prepared statements. По сути, prepared statements отделяют ваш SQL‑код от передаваемых данных. Вместо того чтобы каждый раз собирать всю строку запроса, вы один раз задаёте структуру запроса с маркерами параметров, а затем отдельно передаёте поисковые термины. Подробнее о концепции можно узнать на Wikipedia .Manticore Search поддерживает prepared statements через стандартный протокол MySQL, предоставляя мощный инструмент для создания безопасных поисковых приложений. Используя prepared statements, вы не только значительно снизите риск SQL‑инъекций, но и улучшите читаемость вашего кода.prepared statements — это не просто функция; иногда они являются обязательными. Например, библиотека Rust sqlx работает с MySQL-эндпоинтом, используя исключительно prepared statements. Кроме того, некоторые OLE DB‑коннекторы, позволяющие MS SQL работать с сервером MySQL, тоже используют prepared statements внутри.
Краткая сводка
Представьте, что вы создаёте мощное поисковое приложение. Пользователи вводят ключевые слова, а ваш бэкенд должен выполнять запрос к базе данных Manticore Search, чтобы найти подходящие результаты.
Связанные теги
Компании и люди
Линия сюжета
Habr
Последние материалы и связанный контекст по теме Habr.
Habr
Последние материалы и связанные ссылки по теме Habr.
Manticore
Последние материалы и связанный контекст по теме Manticore.
Manticore Search
Последние материалы и связанные ссылки по теме Manticore Search.
Manticore Search
Последние материалы и связанный контекст по теме Manticore Search.
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц
Сделал себе VPN, который:— работает через VLESS Reality, неотличимый от обычного HTTPS — пробивает белые списки мобильных операторов через relay на Yandex Cloud — имеет готовый ...
Почему после коротких видео и ленты так тяжело вернуться к нормальной работе
Дофамин – это не просто гормон удовольствия, а нейромедиатор мотивации и предвкушения. Его главная задача – закреплять поведение, которое эволюционно полезно: поиск пищи, социал...
Быстрее и проще: nanoCAD GeoniCS вместо Civil 3D в работе маркшейдерской службы «Русского Угля»
nanoCAD GeoniCS – это мощный современный инструмент для землеустройства и изысканий. Однако в высокоспециализированных отраслях, таких как маркшейдерское дело на угледобыче, ста...
[Перевод] SoftBank внёс 10%. Oracle набрала $56 млрд долгов и упала на 50%. Вот и вся история Stargate
Когда амбиции сталкиваются с экономикой, математикой и логикой — математика всегда побеждает.Я писал об этом ещё в начале января: OpenAI тонет — и рискует утянуть за собой значи...
Концепция 6G: что ждет нас в шестом поколении сотовой связи?
Поколения сотовой связи меняются приблизительно раз в десять лет. Возможно, в будущем, мы увидим ускорение этого процесса, но пока тайминги более-менее выдерживаются. И если ста...
От линейного текста к семантическому графу: строим knowledge‑extraction‑пайплайн для учёбы
Меня зовут Аскольд Романов, я руковожу продуктовой командой в Яндекс Образовании. Сегодня я хочу поделиться историей своего проекта K2-18. Это опенсорс‑инструмент, который транс...
Страницы сущностей
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц
Сделал себе VPN, который:— работает через VLESS Reality, неотличимый от обычного HTTPS — пробивает белые списки мобильных операторов через relay на Yandex Cloud — имеет готовый ...
Почему после коротких видео и ленты так тяжело вернуться к нормальной работе
Дофамин – это не просто гормон удовольствия, а нейромедиатор мотивации и предвкушения. Его главная задача – закреплять поведение, которое эволюционно полезно: поиск пищи, социал...
Быстрее и проще: nanoCAD GeoniCS вместо Civil 3D в работе маркшейдерской службы «Русского Угля»
nanoCAD GeoniCS – это мощный современный инструмент для землеустройства и изысканий. Однако в высокоспециализированных отраслях, таких как маркшейдерское дело на угледобыче, ста...
[Перевод] SoftBank внёс 10%. Oracle набрала $56 млрд долгов и упала на 50%. Вот и вся история Stargate
Когда амбиции сталкиваются с экономикой, математикой и логикой — математика всегда побеждает.Я писал об этом ещё в начале января: OpenAI тонет — и рискует утянуть за собой значи...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц
Сделал себе VPN, который:— работает через VLESS Reality, неотличимый от обычного HTTPS — пробивает белые списки мобильных операторов через relay на Yandex Cloud — имеет готовый ...
Почему после коротких видео и ленты так тяжело вернуться к нормальной работе
Дофамин – это не просто гормон удовольствия, а нейромедиатор мотивации и предвкушения. Его главная задача – закреплять поведение, которое эволюционно полезно: поиск пищи, социал...
Быстрее и проще: nanoCAD GeoniCS вместо Civil 3D в работе маркшейдерской службы «Русского Угля»
nanoCAD GeoniCS – это мощный современный инструмент для землеустройства и изысканий. Однако в высокоспециализированных отраслях, таких как маркшейдерское дело на угледобыче, ста...
[Перевод] SoftBank внёс 10%. Oracle набрала $56 млрд долгов и упала на 50%. Вот и вся история Stargate
Когда амбиции сталкиваются с экономикой, математикой и логикой — математика всегда побеждает.Я писал об этом ещё в начале января: OpenAI тонет — и рискует утянуть за собой значи...