Я создал форму, которая принимает запрос и выполняет его через php. Я хотел бы применить проверку ввода, которая разрешает только запрос выбора для запросов. Как я могу это достичь?Разрешить только оператор «Выбрать» для запросов, выполняемых через PHP
2
A
ответ
11
Лучший способ, если у вас есть доступ к серверу базы данных и вы можете создать нового пользователя, создать пользователя с привилегией SELECT, а затем назначить этого пользователя вашему веб-приложению php.
http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges
Regex это хорошо, но это немного рискованный метод, чтобы отфильтровать его таким образом, вы никогда не будете знать, как творческий ваш пользователь может быть :)
5
Чтобы быть в безопасности, вам может создать пользователя MySQL и дать только этому пользователю SELECT
permissions.
Regex - это первое, что приходит мне на ум. – techish
Вы должны в любом случае создать пользователя для сервера/php, которому разрешено «SELECT» в вашей базе данных MySQL, поэтому независимо от того, насколько хорошо или плохо проверка выполняется, пользователи смогут только «ВЫБРАТЬ». – RSeidelsohn
Подключиться к базе данных в качестве пользователя, которому предоставляются только права на чтение? –