Задать вопрос

Как защитить код (файлы) rails приложения от людей, которые могут работать с ERB шаблонами?

Понятно, что к процессу доступ будет, главное ограничить исходный код приложения.

Rubyencoder и шаблонизатор Liquid не считаем.
  • Вопрос задан
  • 2724 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 2
@flskif
Можно вынести все вьюшки в отдельный гем, который будет работать как rails engine, и подключать его к основному приложению. Но в этом случае, код основного приложения тоже должен быть доступен, чтобы была возможность проверки верстки.

Можно параноить по полной, и давать верстальщикам для проверки не настоящее приложение, а поддельное.
Ответ написан
kirushik
@kirushik
Из того что хоть сколько-нибудь распространено, единственный выход это действительно использовать специальный шаблоноязык — Liquid, Curly, Laminate, наверное ещё какие-нибудь есть.

Альтернативный вариант — использовать штатную функциональность Руби $SAFE (phrogz.net/programmingruby/taint.html), и извращаться под ней рендеринг erb запуская. Готового решения нет, целиком Рельсы даже с $SAFE=1 не запускаются.

Ну или можно вынести рендеринг шаблонов в отдельный процесс (отдельный на каждого Вашего недоверенного юзера, видимо), с которым общаться через тот или иной RPC-механизм, вплоть до JSON-сервера: туда отправляются данные, нам возвращается отрендеренный html.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
от 6 000 до 8 000 $
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $