В принципе, я хочу сделать следующее:
mysql_query("SELECT ... FROM ... ORDER BY $_GET[order]")
Очевидно, что они могут легко создать ошибку SQL, помещая туда нечувствительность, но mysql_query
позволяет выполнять только 1 запрос, поэтому они не могут помещать что-то вроде 1; DROP TABLE ...
.
Есть ли какой-либо вред, который может сделать злоумышленник, кроме создания синтаксической ошибки?
Если да, как я могу дезинфицировать запрос?
Там много логики, построенной на переменной $_GET['order']
, находящейся в синтаксисе типа SQL, поэтому я действительно не хочу менять формат.
Чтобы уточнить, $_GET['order']
будет не просто отдельным полем/столбцом. Это может быть что-то вроде last_name DESC, first_name ASC
.