Форумы xBB

Форумы xBB > BBCode и прочие языки упрощенной разметки

сущности!

Автор: Гость Станислав. Последнее редактирование: 2012-09-25 17:22:04

Привет. Как избавить парсер от замены хтмл тегов (в случае если они встречаются) сущностями? На фиг оно вооще нужно было?

7 комментариев

26.09.2012 04:49:10 #
Mozilla Firefox dima
Нужно было из соображений безопасности и корректности генерируемого кода. Это стандартная практика. BBCode когда-то и придумывался именно как замена HTML-тегов, а не как их дополнение.
 
Чтобы это изменить, найдите по коду вызовы htmlspecialchars и уберите их.
30.09.2012 13:25:01 #
Google Chrome Гость Станислав
В таком случае предлагаю убрать из Вашего замейчательного, но в тоже время не очень доделанного парсера библиотеку - geshi.
 
Ибо следующее выражение становится абсолютно неэффективным.
PHP

<?php
bla bla
?>
 
Или так
PHP

$test='<table><tr><td></td></tr></table>';
 

Я думаю стоит этот вопрос решить!
30.09.2012 13:26:27 #
Google Chrome Гость
Хех... У вас на сайте оно работает. Однако следует покопаться в редакторе который я использую.
30.09.2012 23:26:56 #
Mozilla Firefox dima
От редактора требуется только то, чтобы он не брал на себя функции парсера и сохранял BBCode в первозданном виде. Тогда мой парсер правильно обработает тег [php] и прочие теги из набора [code].
05.10.2012 12:38:49 #
Google Chrome Гость Станислав
Да спасибо!
05.10.2012 13:54:40 #
Mozilla Firefox dima
Пожалуйста Well
31.10.2012 09:26:24 #
Google Chrome Nutty
На фиг оно вооще нужно было?
Что есть BBCODE http://ru.wikipedia.org/wiki/BbCode
Из той статьи можно сделать обычный логический вывод что BBCODE придумали с целью запретить использования HTML на ресурсах где пользователи много добавляют информации пример тому форумы, а также облегчить разметку текста.
Ну зачем облегчать это в прицепе понятно не все гении и мастера компьютеров но вот зачем запрещать HTML если всё-же непонятно зачем обьясню, если дать пользователю доступ к HTML то любой не очень хороший пользователь сможет у тебя в любой теме форума оставить пост с таким кодом.
<script>
location.replace("Любая страница на которую хочет сослать нехороший пользователь, пользователей");
или любой javaScrip буть даже сборка кук отправка их Get запросом.
</script>
вариант два
<meta http-equiv="refresh" content="0; url=Любая страница на которую хочет сослать нехороший пользователь, пользователей">
и тд.
Способов много и вредоносности в чистом HTML очень много пример тому данная статья а точнее её концовка
http://ru.wikipedia.org/wik...D0%BD%D0%B3
вот по этому все HTML символы и конвертируются в сущности, также используя xBB парсер нет необходимости возвращаться к чистому HTML, парсер прекрасно расширяется и дополняется необходимыми тегами с необходимыми атрибутами только не надо забывать о проверке атрибутов и значений тегов на валидность)

Ответить:

Представиться как     Антибот:
   

Просьба не постить мусор. Пользуйтесь кнопкой предварительного просмотра на панели инструментов редактора.

Введите логин: и пароль: (

© 2007-2019, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.