2014-01-16 3 views
0

Проверяет ли URL-адрес против специальных символов инъекции sql? Что-то вроде этого:предотвращает инъекцию sql через url

validateRequest(req.getUri()); 

В котором я проверяю специальные символы.

+1

Никогда не пытайтесь писать собственную собственную проверку для «специальных» символов для защиты от атак SQL-инъекций. – Kevin

+2

SQL-инъекция не происходит в URL-адресе. Это происходит при взаимодействии с базой данных. И это не имеет ничего общего с «специальными символами» и все, что связано с обработкой ввода пользователем как * data *, а не как * исполняемого кода *. – David

+0

спасибо Kevin :) David Я знаю это, но я имею в виду случай, когда он пишет полный код sql внутри url? \ – user3204111

ответ

5

Пока вы используете parametrized queries против баз данных, вы были бы спасены от SQL Injection. Поэтому вместо проверки символов в URL-адресе вы должны отправлять данные на сервер базы данных с помощью параметров команды.

+0

Я спрашиваю, записывает ли он полную инструкцию sql в URL-адресе, а не обычную инъекцию, в которую добавляет злоумышленник что-то вроде: или 1 = 1 – user3204111

+0

@ user3204111, как вход с URL-адреса будет поступать на сервер базы данных? Он не может идти напрямую, должен быть командный объект/код, принимающий значения из URL-адреса, а затем отправляя его в базу данных. Вы не можете написать SQL-запрос в URL-адресе и ожидать, что он будет автоматически загружаться в базу данных, должен быть задействован какой-то командный объект. – Habib

Смежные вопросы