Переместить файл или набор файлов с помощью Tortoise SVN
, right-click-and-drag конечные файлы их месту назначения и отпустить правую кнопку мыши. Всплывающее меню будет иметь SVN move versioned files here
опция.
Примечание, что папка назначения, должно быть, была уже добавлена к репозиторию для SVN move versioned files here
опция появиться.
Я следую нескольким принципам:
Это приводит меня к альтернативной архитектуре, которую вы предложение:
Это был мой подход, и он работает довольно чисто.
Я не использовал Markdown в Rails, но мой подход заключался бы в том, чтобы взять отправленный Markdown и сохранить его, а также его обработанную и обработанную HTML-копию в базе данных. Таким образом, вы не выбрасываете какую-либо информацию при дезинфекции, и вам не нужно повторно отображать Markdown каждый раз, когда вы хотите отобразить статью.
Помощник по дезинфекции Rails должен сделать эту работу. Существует также ряд плагинов (таких как xss_shield и xss_terminate), которые можно использовать для внесения вашего вывода в белый список, чтобы вы не забыли его дезинфицировать!
Другие ответы здесь хороши, но позвольте мне сделать несколько предложений по очистке. Встроенное дезинфицирующее средство в Rails неплохо, но не гарантирует правильной формы, что, как правило, составляет половину проблемы. Кроме того, весьма вероятно, что он будет использован, поскольку он не самый лучший в своем классе и требует значительных объемов установки для атак хакеров.
Я считаю, что лучшая и наиболее перспективная на сегодняшний день дезинфекция - это html5lib, потому что он написан для синтаксического анализа как браузер, и это результат сотрудничества многих лидеров в этой области. Однако он немного медленный и не очень похож на Ruby.
В Ruby я рекомендую либо Loofah , который дословно устраняет некоторые из вещей, связанных с очисткой html5, но использует Nokogiri и работает намного быстрее или Sanitize , который имеет надежный набор тестов и очень хорошую настраиваемость (хотя не стреляйте себе в ногу).
Я только что выпустил плагин под названием ActsAsSanitiled , который является переписанным ActsAsTextiled для автоматической очистки текстового вывода, а также с помощью драгоценного камня Sanitize. Он разработан, чтобы дать вам лучшее из обоих миров: ввод в БД не затрагивается, но поле всегда выводит безопасный HTML без необходимости запоминать что-либо в шаблоне. Я сам не использую Markdown, но хотел бы добавить поддержку BlueCloth.
Я только что выпустил плагин под названием ActsAsSanitiled , который представляет собой переписанный вариант ActsAsTextiled для автоматической очистки текстового вывода с помощью драгоценного камня Sanitize. Он разработан, чтобы дать вам лучшее из обоих миров: ввод в БД не затрагивается, но поле всегда выводит безопасный HTML без необходимости запоминать что-либо в шаблоне. Я сам не использую Markdown, но хотел бы добавить поддержку BlueCloth.
Я только что выпустил плагин под названием ActsAsSanitiled , который представляет собой переписанный вариант ActsAsTextiled для автоматической очистки текстового вывода, а также с помощью гема Sanitize. Он разработан, чтобы дать вам лучшее из обоих миров: ввод в БД не затрагивается, но поле всегда выводит безопасный HTML без необходимости запоминать что-либо в шаблоне. Я сам не использую Markdown, но хотел бы добавить поддержку BlueCloth.