В приложении My Rails есть сложные правила о том, когда на странице должен отображаться небольшой контент. Я' Я решил реализовать это, написав предикаты (простые функции «да / нет») в Ruby и сохранив их в базе данных для последующего выполнения eval. Это довольно просто.
Моя главная забота - безопасность: если кто-то злоумышленник узнает, как писать в базу данных, он может вставить произвольный код Ruby в базу данных, и тогда « вся ваша база принадлежит нам '.
Так можно ли создать, например, «изолированную» eval, в которой удалены все операции ввода-вывода?