2012-03-22 5 views
2

Я создал форму, которая принимает запрос и выполняет его через php. Я хотел бы применить проверку ввода, которая разрешает только запрос выбора для запросов. Как я могу это достичь?Разрешить только оператор «Выбрать» для запросов, выполняемых через PHP

+0

Regex - это первое, что приходит мне на ум. – techish

+3

Вы должны в любом случае создать пользователя для сервера/php, которому разрешено «SELECT» в вашей базе данных MySQL, поэтому независимо от того, насколько хорошо или плохо проверка выполняется, пользователи смогут только «ВЫБРАТЬ». – RSeidelsohn

+0

Подключиться к базе данных в качестве пользователя, которому предоставляются только права на чтение? –

ответ

11

Лучший способ, если у вас есть доступ к серверу базы данных и вы можете создать нового пользователя, создать пользователя с привилегией SELECT, а затем назначить этого пользователя вашему веб-приложению php.

http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges

Regex это хорошо, но это немного рискованный метод, чтобы отфильтровать его таким образом, вы никогда не будете знать, как творческий ваш пользователь может быть :)

+1

+1 хорошая идея: D –

+1

@aF. +1 за «какое колдовство это» –

+0

+1 вы избили меня до него – oezi

5

Чтобы быть в безопасности, вам может создать пользователя MySQL и дать только этому пользователю SELECT permissions.