Я занимаюсь разработкой системы, которая принимает представленный пользователем код и сохраняет его в базе данных.Код может быть на любом языке: ruby, python, elixir, javascript и т. Д. Нет ограничений на язык.Код, сохраненный в базе данных, никогда не предназначен для запуска.Он будет отображаться в статье блога или преобразован в файл для скачивания.Аналогичным примером может быть GitHub gist или Cacher , который принимает представленный пользователем код и отображается на веб-сайте.
- Как убедиться, что введенный пользователем код очищен и безопасен для отображения на веб-странице с подсветкой кода?
- Какую обработку мне нужно выполнить для кода, чтобы я мог безопасно его отобразить?Я не хочу налагать жесткие ограничения на пользователей.
- Есть ли что-то, что мне нужно знать?
Есть идеи, как эти веб-сайты реализуют эту функцию?
Я использую Elixir и Phoenix Framework.Есть ли подводные камни, о которых я должен быть осторожен?Я думаю об использовании модуля Phoenix.HTML
для экранирования кодов.Я просто хочу быть уверен, что мой подход не имеет известных дыр в петле.