Тема: Обезвредить функцию

Ответить в теме
Показано с 1 по 5 из 5
  1. Вверх #1
    User banned
    Пол
    Мужской
    Сообщений
    63
    Репутация
    21

    По умолчанию Обезвредить функцию

    Привет.
    Скажите плиз, а данную функцию легко обезвредить или она может быть завязана на остальной код программы?

    Код:
    	}	
    	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;
    	}
    Она как бы предназначена для фильтрации от программного кода вводимой информации, по критерию $tags_option, где можно задать разрешенные операторы.
    Но, во первых понятно что все возможные варианты не ввести, да и не нужно, потому как javascript все равно режется, а во-вторых комментирование строк с replace позволяет таки выполняться js, но с ошибками, т.е. кастрировать надо на уровне
    $tags_option = $params->get('strip_tags', 'a,br'); ?
    Подскажите, если не трудно?
    спасибо заранее


  2. Вверх #2
    Потерянный в раю Аватар для Hedin
    Пол
    Мужской
    Адрес
    Эвиал
    Сообщений
    2,322
    Репутация
    1600
    Если вам защититься, то я бы искал что-нить готовое. Подумать логично, так грабли есть давно и наверняка кто-то уже все укра.. написал
    Я не падаю. Я так летаю. Каждый летает как умеет

  3. Вверх #3
    User banned
    Пол
    Мужской
    Сообщений
    63
    Репутация
    21
    нет, мне наоборот.
    Чтобы данный скрипт перестал работать, пропуская для выполнения javascript, php, html.
    На данном этапе пропускает только заранее предопределенные теги HTML

  4. Вверх #4
    Посетитель
    Пол
    Мужской
    Возраст
    34
    Сообщений
    127
    Репутация
    16
    PHP код:
    function prepareContent($text,  $length=200, &$params
    {
    return 
    $text;

    Жизнь в стиле Debian уже отучила меня собирать что-либо самостоятельно

  5. Вверх #5
    User banned
    Пол
    Мужской
    Сообщений
    63
    Репутация
    21
    всё гениально просто: врач сказал отрезать - значит отрезать!

    Спасибо!


Ответить в теме

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения