技能 backend-queries
🗄️

backend-queries

安全 🌐 網路存取📁 檔案系統存取

Пишите безопасные запросы к базе данных с помощью рекомендаций ИИ

也可從以下取得: DevanB

Запросы к базам данных часто страдают от уязвимостей безопасности и проблем с производительностью. Этот навык предоставляет Claude экспертные рекомендации для написания безопасных, оптимизированных запросов, которые предотвращают SQL‑инъекции и устраняют проблему N+1.

支援: Claude Code(CC)
📊 70 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「backend-queries」。 Convert this vulnerable query to prevent SQL injection: SELECT * FROM products WHERE name = '$productName' AND price < $maxPrice

預期結果:

  • Исходный уязвимый запрос использует конкатенацию строк, что позволяет SQL‑инъекции
  • Преобразовано в параметризованный запрос: SELECT * FROM products WHERE name = ? AND price < ?
  • Параметры привязываются отдельно, предотвращая выполнение вредоносного SQL
  • Добавлена проверка входных данных для диапазона цен и формата названия продукта
  • Внедрен тайм‑аут запроса для предотвращения исчерпания ресурсов

正在使用「backend-queries」。 Fix my N+1 query problem where I load posts and then separately load comments for each post

預期結果:

  • Текущий подход выполняет отдельные запросы для комментариев каждого поста, вызывая проблему N+1
  • Рекомендуемое решение: используйте жадную загрузку с preload или joinedload в SQLAlchemy
  • Один запрос получает все посты и их комментарии за один проход к базе данных
  • Добавлен тайм‑аут запроса для предотвращения длительных запросов
  • Рассмотрите использование selectinload для лучшей производительности на больших наборах данных

正在使用「backend-queries」。 Write a safe transaction for transferring money between accounts

預期結果:

  • Реализована транзакция с корректными свойствами ACID и откатом при сбое
  • Использован SELECT FOR UPDATE для блокировки строк и предотвращения гонок
  • Добавлены обнаружение дедлоков и логика повторов для параллельных переводов
  • Реализованы проверки баланса до и после операций перевода
  • Установлены тайм‑ауты запросов для предотвращения длительных транзакций

安全審計

安全
v5 • 1/17/2026

This is a documentation-only skill containing coding standards for database queries. It contains no executable code, network calls, file operations, or system access. All 20 static findings are false positives caused by the analyzer misinterpreting documentation text as security patterns. The skill provides security best practices including SQL injection prevention.

2
已掃描檔案
207
分析行數
2
發現項
5
審計總數

風險因素

審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
23
社群
100
安全
91
規範符合性

你能建構什麼

Безопасная разработка API

Создавайте безопасные REST API с корректно параметризованными запросами к базе данных, предотвращающими атаки инъекций при сохранении оптимальной производительности.

Настройка производительности запросов

Оптимизируйте медленные запросы, внедряя корректное индексирование, жадную загрузку и эффективные операции JOIN с рекомендациями ИИ.

Лучшие практики ORM

Научитесь эффективно использовать ORM с правильной загрузкой связей, границами транзакций и методами оптимизации запросов.

試試這些提示

Базовая безопасность запросов
Help me convert this raw SQL query to use parameterized statements to prevent SQL injection: SELECT * FROM users WHERE email = '$email' AND status = '$status'
Исправление проблемы N+1
I have a query that loads users and their posts separately, causing N+1 queries. Show me how to use eager loading to fix this in SQLAlchemy.
Оптимизация сложных JOIN
Write an optimized query to get orders with customer details, order items, and product information using proper JOINs and indexes.
Управление транзакциями
Help me implement a transaction that transfers funds between accounts with proper rollback handling and deadlock prevention.

最佳實務

  • Всегда используйте параметризованные запросы вместо конкатенации строк
  • Выбирайте только необходимые столбцы вместо SELECT *
  • Внедряйте тайм‑ауты запросов, чтобы предотвратить исчерпание ресурсов

避免

  • Никогда не стройте запросы путем прямой конкатенации пользовательского ввода
  • Избегайте загрузки всех записей в память для больших наборов данных
  • Не игнорируйте индексы базы данных при проектировании запросов

常見問題

Какие базы данных поддерживает этот навык?
Навык ориентирован на реляционные базы данных, такие как PostgreSQL, MySQL, SQLite и SQL Server, с принципами, не зависящими от ORM.
Может ли этот навык анализировать производительность моих существующих запросов?
Нет, навык дает рекомендации по написанию новых запросов. Для анализа производительности вам понадобятся инструменты профилирования базы данных.
Работает ли он с NoSQL базами данных?
Навык оптимизирован для реляционных баз данных, но некоторые принципы применимы к документным базам данных с языками запросов.
Как он предотвращает SQL‑инъекции?
Он обеспечивает использование параметризованных запросов, где пользовательский ввод привязывается как параметры и никогда не конкатенируется в SQL‑строки.
Что делать, если мой запрос все еще медленный после оптимизации?
Рассмотрите изменения схемы базы данных, дополнительные индексы или реструктуризацию запроса. Навык дает базовые рекомендации.
Подходит ли этот навык для новичков?
Да, он дает пошаговые рекомендации от базовой безопасности до продвинутых паттернов оптимизации с понятными примерами.

開發者詳情

檔案結構

📄 SKILL.md