Вопрос

  1. Я использовал параметризованные запросы количество раз, когда я знаю, это помогает в предотвращении инъекции SQL. Но мне было интересно, могу ли я знать, какая основная логика работает внутри параметризованного запроса, чтобы предотвратить инъекцию SQL, это очень просто, но я не знаю об этом. Я пытался найти Google, какова его основная, но каждый раз, когда я находил пример, как использовать параметризованный запрос в ASP.NET.
  2. Я знаю о создании специального класса, который останавливает тех специальных символов, таких как (',- и т. Д.), Которые используются в инъекции SQL, но останавливает ли остановку только специальных персонажей полностью предотвращает инъекцию SQL?
  3. И последнее, что делает параметризованный запрос .NET может полностью остановить инъекцию SQL?
Это было полезно?

Решение

Я думаю, что параметризованные запросы не зависят от подготовленной поддержки базы данных. Сам драйвер базы данных передает значения безопасным способом, и как это делается, зависит от самого драйвера.

А PostgreSQL Руководство объясняет основы параметризованных запросов на уровне базы данных.

С другой стороны, параметризованные запросы упрощают вас передачу локальных конфиденциальных данных. Например, пользователь вводит 100,00 десятичных знаков, но ваш сервер ожидает 100,00 значения.

Другие советы

В каждом двигателе базы данных, который я знаю, с использованием «подготовленных» (ака «параметризованных» или «статических») запросов предотвращает инъекцию SQL. Вам не нужно фильтровать какие -либо символы, если они передаются в параметры. Если вы когда -нибудь пишете SQL, который объединяется вместе в коде, а не подготовленным с параметрами, вы, вероятно, подвергаетесь риску инъекции SQL. Вы должны руководство по безопасности для базы данных, которую вы используете, в нем, скорее всего, будет раздел по инъекции SQL, но просто прочитайте все это. Бьюсь об заклад, это займет менее часа и даст вам надежную инструкцию и уверенность в том, что вы следуете лучшим методам, которые применяются к вашей базе данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top