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