2013-12-09 1 views
1

(Мои извинения, если это существует, но я не видел ответ на этот аромат предотвращения Java Script инъекции)Javascript Injection Prevention (но сохранить форматирование текста и изображений)

Подробности: Вся обработка будет на сервер.

Я хочу, чтобы мои пользователи могли размещать HTML-теги в целом, но я ищу способ ограничить использование тегов и эффектов. Есть ли в наличии существующие решения для этого? (я не хочу закодировать содержание моих пользователей

Да:.

  1. Текста + Форматирование
  2. Ссылки
  3. Списки
  4. Изображения

N О:

  1. CSS: по реф, по метке или инлайн
  2. JS: по реф, по тегам или инлайн
  3. IFrames
  4. Объекты

Любые мысли?

+0

Я рассматриваю идею упаковки сообщения в основной XML-тег, убедившись, что он разбирает, и извлекая несколько конкретных тегов (сценарий, Iframe, и т.д.) и удаление всех атрибутов, кроме известных, как это необходимо [a href] или [img src tag] -> и возвращать любые ошибки обратно пользователю (также помогает гарантировать правильное форматирование html (теги open/close) и т. д.) –

+0

Каков ваш серверный язык? – War10ck

+0

C# MVC4 VS2012. –

ответ

2

Вы можете использовать HtmlAgilityPack анализирует вход пользователя как HTML и легко обнаруживает и удаляет ненужные теги.

http://htmlagilitypack.codeplex.com/

+0

Я использовал это и думал об этом, но я хотел избежать его из-за дополнительных требований к обработке из-за его способности обрабатывать неправильные форматы HTML. Помимо этого, это все еще действительное решение. Благодаря! –

1

Когда я делаю дезинфекцию на стороне клиента, я склонен тянуться к sanitize.js - Я считаю, что есть все то, что вы ищете и больше

https://github.com/gbirke/Sanitize.js/

+1

Я думаю, что OP хочет санитарию на стороне сервера: _ «Вся обработка будет на стороне сервера». _... – War10ck

+0

Ahh, я вижу, thx – Hacknightly

+0

Нет проблем. Это довольно приятное решение. Я должен отметить это, чтобы посмотреть на него еще немного. – War10ck

Смежные вопросы