У меня есть вопрос:Предотвращение SQL-инъекций по динамическим параметрам
У меня есть форма, которая отправляется через GET, и я хочу защитить базу данных.
Проблема в том, что существует 8 ящиков с аргументами, которые могут быть переданы в форме на страницу, но они не должны быть там.
В настоящее время я проверяю, отправляет ли поле выбора значение по умолчанию, если его нет, im хранит его в массиве. После этого цикла я корыта массива и добавления параметров поиска в строку:
$searchString = "WHERE Aktivno = 1";
foreach($pretragaArray as $key => $item){
$searchString = $searchString." AND";
$searchString = $searchString." ". $key ." = " . $item;
}
В конце концов я в конечном итоге с поиском строки запроса, как этот
WHERE Aktivno = 1 AND IDVrstaOglasa = 1
или
WHERE Aktivno = 1 AND IDOpstina = 15 AND IDGrad = 11 AND IDVrstaOglasa = 1 AND Broj_soba = 3 AND IDKategorijaNekretnine = 5
Я нахожусь используя класс PDO php для запроса базы данных.
Мой вопрос в том, есть ли способ избежать моей строки, которая сгенерирована таким образом, а если нет, есть ли лучший способ запросить базу данных с динамическим числом атрибутов в предложении WHERE.
Спасибо вам, спасибо вашего ответа я был в состоянии изменить свой запрос и отображать результаты – iGoogle