Мне удалось найти решение со следующим
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "Android/data/app.name/files/", success, fail);
При использовании php отличное решение состоит в том, чтобы использовать HTMLPurifier. Это имеет много опций отфильтровать плохой материал, и как побочный эффект, гарантии хорошо сформированный вывод HTML. Я использую его для просмотра спама, который может быть враждебным окружением.
Действительно не имеет значения, что Вы надеетесь удалять, кто-то будет всегда находить способ обойти его. Как ссылка смотрят на эту Шпаргалку XSS.
Как пример, как Вы когда-либо собирающийся удалять это допустимое нападение XSS:
<IMG SRC=javascript:alert('XSS')>
Ваш наилучший вариант, только позволяют подмножество приемлемых тегов и удаляют что-либо еще. Эта практика, знают как Белый Список, и лучший метод для предотвращения XSS (помимо запрещения HTML.)
Также используйте шпаргалку в своем тестировании; стреляйте так, как Вы можете в своем веб-сайте и пытаться найти некоторые способы выполнить XSS.
Общая лучшая стратегия здесь состоит в том, чтобы добавить в белый список определенные теги и атрибуты, которые Вы считаете безопасными, и выходите/удаляете из всего остального. Например, разумный белый список мог бы быть <p>, <ul>, <ol>, <li>, <strong>, <em>, <pre>, <code>, <blockquote>, <cite>
. С другой стороны, рассмотрите человечески-благоприятную разметку как Ткань или Скидка с цены, которая может быть легко преобразована в безопасный HTML.
Вместо того, чтобы позволять HTML, у Вас должна быть некоторая другая разметка, которая может быть преобразована в HTML. При попытке разделить жулик HTML от ввода данных пользователем почти невозможен, например
<scr<script>ipt etc="...">
Удаление из этого уедет
<script etc="...">
Если это - слишком трудное удаление тегов, Вы могли бы отклонить целые данные HTML, пока пользователь не вводит допустимый. Я отклонил бы HTML, если он содержит следующие теги:
frameset, кадр, iframe, сценарий, объект, встраивают, апплет.
Также теги, которые Вы хотите запретить: голова (и подтеги), тело, HTML, потому что Вы хотите обеспечить их собой и Вы не хотите, чтобы пользователь управлял Вашими метаданными.
Но вообще говоря, разрешение пользователю предоставить его собственный HTML-код всегда налагает некоторые проблемы безопасности.
Для примера C# белого подхода списка, который использует stackoverflow, можно посмотреть на эту страницу.
Вы могли бы хотеть рассмотреть, вместо того, чтобы позволить HTML вообще, реализовывая некоторое благоприятное положение для HTML как BBCode или Скидка с цены.
Помощник службы безопасности Коханы очень хорош. Насколько я помню, он был взят из другого проекта.
Однако я проверил
<IMG SRC=javascript:alert('XSS')>
Из ответа LFSR Consulting , и он правильно ускользнул.