Перейти к контенту
  • 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 через такой парсинг?

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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