Почему бы не использовать теги HTML в текстовых редакторах веб-сайтов? - PullRequest
2 голосов
/ 07 сентября 2010

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

Спасибо.

Ответы [ 4 ]

4 голосов
/ 07 сентября 2010

Просто потому, что не все ваши пользователи будут знать HTML.*bold text* намного легче понять (и прочитать в необработанном виде), чем <b>bold text</b>.Особенно, если вы переходите по ссылкам.

Причина, по которой мы используем Markdown, Textile и все остальное, заключается в предоставлении хорошей альтернативы, доступной для большего числа пользователей.

Конечно, вы все равно можете предоставить возможностьиспользуйте HTML для своих пользователей (это в спецификации Markdown), но вам придется много проверять, чтобы убедиться, что ничего не происходит, например, блокировать <script>, <iframe>, большие изображения, JavaScript вформа <a href="javascript:alert("...");"> и т. д.

2 голосов
/ 07 сентября 2010

Существует несколько причин, по которым вам не следует использовать теги HTML в таком редакторе:

1) Для пользователя может быть менее сложно, если вы введете собственный сокращенный набор тегов

2) HTML-инъекция. Существует большой риск внедрения опасного HTML-кода.

Если вы действительно хотите разрешить HTML-код, вам следует быть очень осторожным.

2 голосов
/ 07 сентября 2010

Исторически системы, подобные BBCode , были предназначены для ограничения доступных элементов форматирования вещами, которые не нарушали бы макет сайта, но теперь, с более зрелыми и умными парсерами HTML, нет необходимости изобретать новый язык разметки, чтобы запретить некоторые небезопасные теги HTML.

В настоящее время основная причина, которую я видел, заключается в том, что HTML является чуждым большинству пользователей, а заменители HTML нацелены на предоставление упрощенной версии директив форматирования, которая понадобится повседневному пользователю.

1 голос
/ 07 сентября 2010

Внедрение HTML-сценария наиболее решительно , а не - это простая проблема, которую нужно решить. HTML является довольно сложным, нерегулярным языком - обнаружение всех возможных уязвимостей является действительно сложной проблемой. Многие сайты пробовали и потерпели неудачу. От POV для предотвращения уязвимостей проще просто полностью запретить HTML или разрешить только небольшое подмножество тегов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...