Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
На одном из форумов по phpBB в разделе обсуждения новых BB-кодов есть такое сообщение
Возможные проблемы с безопасностью, связанные с XSS (межсайтовым скриптингом) при использовании {TEXT} в тегах HTML.
Попробуйте применить лексемы {SIMPLETEXT} или {INTTEXT}, использующие более строгие проверки выполнения.То есть это значит, что если в ббкоде используется скрипт, iframe или сложный код - не применяйте или измените {TEXT} на {SIMPLETEXT} или {INTTEXT} (по всему ббкоду).
Если BBCode простейший, например выравнивание - это не так страшно.
Насколько реальна вероятность XSS?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
У себя ужесточил проверки
// bbcode VIDEO
if (strpos($text, '[video]') !== false)
{
$text = preg_replace('#\[video\]http://www.youtube.com/watch\?v=([-_a-zA-Z0-9]+?)(&.*?)?\[/video\]#U',
'</p><div class="bbvideo"><p><a href="http://www.youtube.com/watch?v=$1">http://www.youtube.com/watch?v=$1</a></p>'.
'<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/$1"></param><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" width="640" height="385"></embed></object>'.
'</div><p>', $text);
$text = preg_replace('#\[video\]http://rutube.ru/tracks/([0-9]+?).html\?v=([a-zA-Z0-9]+?)\[/video\]#U',
'</p><div class="bbvideo"><p><a href="http://rutube.ru/tracks/$1.html?v=$2">http://rutube.ru/tracks/$1.html?v=$2</a></p>'.
'<object width="640" height="385"><param name="movie" value="http://video.rutube.ru/$2"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/$2" type="application/x-shockwave-flash" wmode="window" width="640" height="385" allowFullScreen="true" ></embed></object>'.
'</div><p>', $text);
$text = preg_replace('#\[video\]http://vimeo.com/([0-9]+?)\[/video\]#U',
'</p><div class="bbvideo"><p><a href="http://vimeo.com/$1">http://vimeo.com/$1</a></p>'.
'<object width="640" height="385"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=$1&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=$1&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="385"></embed></object>'.
'</div><p>', $text);
$text = preg_replace('#\[video\]http://smotri.com/video/view/\?id=([a-zA-Z0-9]+?)\[/video\]#U',
'</p><div class="bbvideo"><p><a href="http://smotri.com/video/view/?id=$1">http://smotri.com/video/view/?id=$1</a></p>'.
'<object id="smotriComVideoPlayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360"><param name="movie" value="http://pics.smotri.com/player.swf?file=$1&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/player.swf?file=$1&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="640" height="360" type="application/x-shockwave-flash"></embed></object>'.
'</div><p>', $text);
}
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
я вообще не понял сути проблемы. что еще за {TEXT} ?
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
я вообще не понял сути проблемы. что еще за {TEXT} ?
В phpBB подстановка такая есть
$sp_tokens = array(
'URL' => '(?i)((?:' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('url')) . ')|(?:' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('www_url')) . '))(?-i)',
'LOCAL_URL' => '(?i)(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')(?-i)',
'EMAIL' => '(' . get_preg_expression('email') . ')',
'TEXT' => '(.*?)',
'SIMPLETEXT' => '([a-zA-Z0-9-+.,_ ]+)',
'IDENTIFIER' => '([a-zA-Z0-9-_]+)',
'COLOR' => '([a-zA-Z]+|#[0-9abcdefABCDEF]+)',
'NUMBER' => '([0-9]+)',
);
И не проблема, а вопрос у меня был
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Ужесточил проверку тега audio
// bbcode AUDIO
if (strpos($text, '[audio]') !== false)
{
$text = preg_replace('#\[audio\](http://[^\s<"]+?.mp3)\[/audio\]#U',
'</p><div class="bbvideo"><p><a href="$1">$1</a></p>'.
'<object type="application/x-shockwave-flash" data="swf/mp3player.swf" id="audioplayer1" height="24" width="290">'.
'<param name="movie" value="swf/mp3player.swf">'.
'<param name="FlashVars" value="playerID=audioplayer1&soundFile=$1">'.
'<param name="quality" value="high">'.
'<param name="menu" value="false">'.
'<param name="wmode" value="transparent">'.
'</object> </div><p>', $text);
}
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Насколько реальна вероятность XSS?
Базы под Дженах уже продаются во всю
Offline
Базы под Дженах уже продаются во всю
Разъясни, пожалуйста. Не понял о чем речь.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman, Djenah xss
Offline
Страницы 1