Чем SQL injection может быть опасен при неправильном использовании?
Что хотят услышать интервьюеры:
Неправильное использование SQL injection опасно тем, что проблема часто проявляется не сразу, а под нагрузкой или при изменении требований. Хороший ответ включает план выполнения, индексы, кардинальность, транзакции и параметризацию.
- Суть: SQL injection возникает при выполнении SQL, собранного из непроверенного пользовательского ввода.
- Где встречается: проектирование схемы, написание запросов, индексы, транзакции и оптимизация SQL Server.
- Типичная ошибка: писать запрос без учета индексов, транзакций, плана выполнения и SQL injection.
- Как отвечать: начните с короткого определения, затем приведите пример, назовите ограничение и типичную ошибку.
- Ожидаемый уровень: Middle+. Умение учитывать production-ограничения, производительность и надежность.
Ответ:
SELECT UserId, COUNT(*) FROM Orders GROUP BY UserId HAVING COUNT(*) > 1;