Запросы произвольной формы к базе данных по HTTP - PullRequest
1 голос
/ 28 июля 2011

Я работаю над предоставлением интерфейса REST для некоторых таблиц базы данных. Я хочу предоставить клиенту способ извлечения данных динамическим способом. например,

/ клиент / 1234? Активен = верно и пол = M & богатство> 100000 & ...

Таким образом, идея состоит в том, чтобы строка запроса была как можно более свободной. Для доступа к базе данных я собираю все параметры запроса и добавляю их в предложение SQL where и возвращаю ответ.

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

Это хорошая идея? Если да, знаете ли вы о такой реализации, можете ли вы указать мне на это?

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Хорошая идея или нет, полностью зависит от того, какую информацию хранит база данных.Аккаунты пользователей: нет / Pizza parlors: yes.

Вы можете сделать это в php следующим образом:

Foreach ($_GET as $key => $value) {
$clauses[] = $key.' = "'.$value.'"';
}

$query = mysql_query('select * from pizza_parlors where '.explode(' and ',$clauses);

Но я бы сделал массив с утвержденными параметрами поиска, чтобы ограничить любые методы инъекции.

0 голосов
/ 28 июля 2011

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

Одной из ключевых проблем является предотвращение внедрения SQL-кода. Краткое чтение здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...