В моем веб-приложении я разрешаю публиковать контент, сгенерированный пользователями, для общественного потребления, аналогичного Stackoverflow.
Какова наилучшая практика для этого?
Мои текущие шаги для обработки созданного пользователем контента:
-
Я использую MarkItUp, чтобы пользователи простой способ отформатировать html.
-
После того как пользователь подал заявку изменения Я запускаю его через HTML Sanitizer (прокрутите страницу до Bottem), который использует белый список подход.
-
Если процесс санитарии удалено любое созданное пользователем содержимое I не сохраняйте содержимое. Затем я Верните туда измененный контент с помощью предупреждающее сообщение: "Некоторые незаконные теги контента, где обнаружены и удалите двойную проверку своей работы и повторите попытку ".
-
Если содержимое проходит через очистка, чистота, сохранение содержимое raw html для базы данных.
-
При рендеринге клиенту я просто передать сырой html из db в страница.