SQL-запрос в качестве пользовательского ввода с использованием textarea - PullRequest
0 голосов
/ 08 ноября 2011

Я хотел бы дать пользователю возможность делать запросы SQL.Я поместил текстовую область в использованную форму.Когда я ввел этот запрос SELECT name FROM user ORDER BY name ASC, он вернул ожидаемый результат.Но когда я попытался использовать предложение WHERE SELECT name FROM user WHERE SUBSTRING(name, 1, 1) = 'J' ORDER BY name ASC или SELECT name FROM user WHERE id>1000 ORDER BY name ASC, ни один из SELECT не работал, и я получил следующую ошибку:

Недопустимо Соответствующее представление запрошенного ресурса / теста / индекса.php не может быть найден на этом сервере.Кроме того, при попытке использовать ErrorDocument для обработки запроса произошла ошибка 404 Not Found.

В чем может быть причина этой проблемы?Первое, что мне пришло в голову, было то, что такие символы, как>, сделают URL недействительным, но это не так.

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Ваш веб-сервер, вероятно, настроен с mod_security, и он сканирует данные POST, вызывая этот ответ.

См .: http://www.howtoforge.com/apache_mod_security_p2

http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/03-configuration.html#N10176

1 голос
/ 08 ноября 2011

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

...