Перейти к контенту
  • 0

Помогите, пожалуйста, с парсером


Spear

Вопрос

Здравствуйте,

у меня проблема:

хочу добавить тег спойлера. Сполер должен выглядеть красиво.

Вот код, который добавляю в sources/lib/post_parser.php

первый код - в место парсинга ББ кода в хтмл.

Второй код - конверт из хтмл в бб коды.

 

Проблема в том что по одиночке код работает на ура.

Но он уязвим (по-моему).. Например

[sp]text[/sp] - ok

 

[sp] [sp]text[/sp] text[/sp] - неправильный вывод

 

[sp[sp]text[/sp]]text[/sp] - неправильный вывод.

 

Код парсера:

1:

$txt = preg_replace( "#\[sp\](.+?)\[/sp\]#is", '<br><span style="color:maroon"><font class=s><b>Внимание, спойлер!</b><br>\(чтобы испортить себе удовольствие - отметьте текст в серой области мышкой\).</font></span><div style="color:\#eeeeee;background-color:\#eeeeee;padding:5px;border:solid black 1px">\\1</div>', $txt );

 

2:

$txt = preg_replace( '#<br><span style="color:maroon"><font class=s><b>Внимание, спойлер!</b><br>\(чтобы испортить себе удовольствие - отметьте текст в серой области мышкой\).</font></span><div style="color:\#eeeeee;background-color:\#eeeeee;padding:5px;border:solid black 1px">(.+?)</div>#is', '\[sp\]\\1[/sp\]', $txt );

 

Пожалуйста, покажите, как правильно? Ато я мучался хоть так сделать, а оказалось - зря старался :D

Изменено пользователем Spear
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Если обрбатывать в цикле - возможно взломщик этим воспользуется.

В общем я по части безопасности форума не силен :D Буду благодареН, если кто-то скажет - уязвим такой код или нет, в таком виде в котором он сейчас.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я дико извеняюсь, но очень надеюсь что не подумают что я флужу - просто тема для меня все ещё актуальна и важна.

Пожалуйста, скажите - есть какой-то вариант внедрения XSS через такой парсинг?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.