Я пишу веб приложение на Fastapi, которое бы позволило пользователям выполнять сырые sql - запросы к БД. Это учебное приложение для тренировки sql.
Суть такова: есть html - страница с редактором кода
Ace editor, где пользователь пишет свой код. Далее я получаю этот код и отправляю на сервер. По функциональности я хочу получить что-то похожее на
SQL Fiddle. Я понимаю, что просто так выполнять рандомный пользовательский код - не есть хорошо и мне нужно, как-то его обработать либо изолировать. Собственно в этом и
вопрос:
существует ли способ сделать такие запросы безопасными для БД ? Я искал информацию по этому вопросу, но ничего годного не нашел.
Есть идея, создавать для каждого пользователя сеанс, в котором будет создана отдельная копия БД, с различными ограничениями, доступная только этому пользователю, а после завершения работы удалять сеанс вместе с БД, будет ли такой подход разумным с точки зрения производительности? Объем данных для учебных таблиц небольшой.