Привет.
Скажите плиз, а данную функцию легко обезвредить или она может быть завязана на остальной код программы?
Она как бы предназначена для фильтрации от программного кода вводимой информации, по критерию $tags_option, где можно задать разрешенные операторы.Код:} function prepareContent($text, $length=200, &$params) { $tags_option = $params->get('strip_tags', 'a,br'); $tags = explode(",", $tags_option); $strip_tags = array(); for($i = 0; $i < count($tags); $i++) { $strip_tags[$i] = '<'.trim($tags[$i]).'>'; } $tags = implode(',', $strip_tags); $text = preg_replace( "'<script[^>]*>.*?</script>'si", "", $text ); $text = preg_replace( '/{.+?}/', '', $text); $text = preg_replace( "'<(br[^/>]*?/|hr[^/>]*?/|/(div|h[1-6]|li|p|td))>'si", ' ', $text ); $text = strip_tags($text, $tags); if (strlen($text) > $length) { $text = substr($text, 0, strpos($text, ' ', $length)). "..." ; } return $text; }
Но, во первых понятно что все возможные варианты не ввести, да и не нужно, потому как javascript все равно режется, а во-вторых комментирование строк с replace позволяет таки выполняться js, но с ошибками, т.е. кастрировать надо на уровне
$tags_option = $params->get('strip_tags', 'a,br'); ?
Подскажите, если не трудно?
спасибо заранее




Тема:

Ответить с цитированием

Социальные закладки