Как разрешить пользователям вводить SQL-запросы?

Что-то типа sql-ex. БД тестовая, пользователи могут видеть любые данные из неё, но не могут ничего удалять (решается ограничениями на пользователя от которого идут запросы).
В общем как лучше передавать запросы в БД в этом случае? Напрямую или через какой-то обработчик. Если через него то что обрабатывать?
  • Вопрос задан
  • 363 просмотра
Решения вопроса 3
StrangeAttractor
@StrangeAttractor
Конкретное решение зависит от СУБД. В общем вроде все полноценные СУБД позволяют настраивать права пользователя в довольно широком диапазоне, и в вашей наверняка можно разрешить INSERT и UPDATE (кстати на случай катастрофических апдэйтов всё-равно надо делать бэкапы), запретив DELETE (а заодно и операторы подмножества DDL не забудте запретить, а то кто-нибудь сможет грохнуть вам всю таблицу целиком или отдельный столбец, например).

Дальше зависит от подготовки пользователей - иногда действительно командная строка SQL - самая удобная оболочка для работы с данными, но в наши дни мало кто кроме программистов умеет ей пользоваться.
Ответ написан
@querty
Сами напишите условие, чтобы только select проходил. Доп защита.

Если не принципиально, поставьте phpmyadmin. Пользователю выдайте логин пароль. Ограничения выставляете на указанного пользователя.
Ответ написан
Комментировать
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Быстрее всего будет передавать напрямую, урезав их права по максимуму - дать права только на чтение и только из нужных таблиц.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы