Spec-Zone.ru › Yii 1.1

CHtmlPurifier

Пакет system.web.widgets
Наследование class CHtmlPurifier » COutputProcessor » CFilterWidget » CWidget » CBaseController » CComponent
Реализует IFilter
С 1.0
Исходный код framework/web/widgets/CHtmlPurifier.php
CHtmlPurifier — это обертка для HTML Purifier.

CHtmlPurifier удаляет весь вредоносный код (также известный как XSS) с помощью тщательно проверенного, безопасного и в то же время допускающего разрешённого белого списка. Он также гарантирует, что полученный код соответствует стандартам.

CHtmlPurifier может использоваться как виджет, так и фильтр контроллера.

Примечание: поскольку HTML Purifier — большой пакет, его производительность не очень высока. Следует рассмотреть возможность кэширования результата очистки или очищения входных данных пользователя перед сохранением в базу данных.

Использование как класса:
$p = new CHtmlPurifier();
$p->options = array('URI.AllowedSchemes'=>array(
  'http' => true,
  'https' => true,
));
$text = $p->purify($text);


Использование как правила валидации:
array('text','filter','filter'=>array($obj=new CHtmlPurifier(),'purify')),

Свойства public

Свойство Тип Описание Определено в
actionPrefix строка префикс к идентификаторам действий. CWidget
controller CController Возвращает контроллер, к которому принадлежит этот виджет. CWidget
id строка Возвращает идентификатор виджета или генерирует новый, если запрошено. CWidget
isFilter логическое указывает, используется ли этот виджет как фильтр. CFilterWidget
options смешанный тип Получает параметры для экземпляра HTML Purifier. CHtmlPurifier
owner CBaseController Возвращает владельца/создателя этого виджета. CWidget
skin смешанный тип имя скин для использования этим виджетом. CWidget
stopAction логическое определяет, останавливать ли выполнение действия, когда этот виджет используется как фильтр. CFilterWidget
viewPath строка Возвращает директорию, содержащую файлы представлений для этого виджета. CWidget

Защищенные свойства

Свойство Тип Описание Определено в
purifier HTMLPurifier Получает экземпляр HTML Purifier или создает новый, если его нет. CHtmlPurifier
END_OF_DOCUMENT_MARKER

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. CComponent
__construct() Конструктор. CFilterWidget
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
actions() Возвращает список действий, используемых этим виджетом. CWidget
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик события к событию. CComponent
beginCache() Начинает кэширование фрагмента. CBaseController
beginClip() Начинает запись клипа. CBaseController
beginContent() Начинает отрисовку содержимого, которое должно быть оформлено указанным представлением. CBaseController
beginWidget() Создает виджет и выполняет его. CBaseController
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
createWidget() Создает виджет и инициализирует его. CBaseController
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик события. CComponent
disableBehavior() Отключает присоединенное поведение. CComponent
disableBehaviors() Отключает все присоединенные к этому компоненту поведения. CComponent
enableBehavior() Включает присоединенное поведение. CComponent
enableBehaviors() Включает все присоединенные к этому компоненту поведения. CComponent
endCache() Завершает кэширование фрагмента. CBaseController
endClip() Завершает запись клипа. CBaseController
endContent() Завершает отрисовку содержимого. CBaseController
endWidget() Завершает выполнение указанного виджета. CBaseController
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
filter() Выполняет фильтрацию. CFilterWidget
getController() Возвращает контроллер, которому принадлежит этот виджет. CWidget
getEventHandlers() Возвращает список присоединенных обработчиков событий для события. CComponent
getId() Возвращает идентификатор виджета или генерирует новый, если это необходимо. CWidget
getIsFilter() Проверяет, используется ли этот виджет в качестве фильтра. CFilterWidget
getOptions() Получить параметры для экземпляра HTML Purifier. CHtmlPurifier
getOwner() Возвращает владельца/создателя этого виджета. CWidget
getViewFile() Ищет файл сценария представления в соответствии с именем представления. CWidget
getViewPath() Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединенные обработчики для события с заданным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует виджет. COutputProcessor
onProcessOutput() Вызывается, когда выходные данные были получены. COutputProcessor
processOutput() Обрабатывает полученные выходные данные. CHtmlPurifier
purify() Очищает HTML-контент, удаляя вредоносный код. CHtmlPurifier
raiseEvent() Вызывает событие. CComponent
render() Отображает представление. CWidget
renderFile() Отображает файл представления. CBaseController
renderInternal() Отображает файл представления. CBaseController
run() Выполняет виджет. COutputProcessor
setId() Устанавливает идентификатор виджета. CWidget
setOptions() Устанавливает параметры для HTML Purifier и создает новый экземпляр HTML Purifier на основе этих параметров. CHtmlPurifier
widget() Создает виджет и выполняет его. CBaseController

Защищенные методы

Метод Описание Определено в
createNewHtmlPurifierInstance() Создать новый экземпляр HTML Purifier. CHtmlPurifier
getPurifier() Получить экземпляр HTML Purifier или создать новый, если он не существует. CHtmlPurifier

События

Событие Описание Определено в
onProcessOutput Вызывается, когда вывод был получен. COutputProcessor

Подробности свойств

options свойство

public mixed getOptions()
public static setOptions(mixed $options)

Получить параметры для экземпляра HTML Purifier.

purifier свойство только для чтения

protected HTMLPurifier getPurifier()

Получить экземпляр HTML Purifier или создать новый, если он не существует.

Подробности методов

createNewHtmlPurifierInstance() метод

protected HTMLPurifier createNewHtmlPurifierInstance()
{возвращает} HTMLPurifier
Исходный код: framework/web/widgets/CHtmlPurifier.php#124 (показать)
protected function createNewHtmlPurifierInstance()
{
    
$this->_purifier=new HTMLPurifier($this->getOptions());
    
$this->_purifier->config->set('Cache.SerializerPath',Yii::app()->getRuntimePath());
    return 
$this->_purifier;
}

Создать новый экземпляр HTML Purifier.

getOptions() метод

public mixed getOptions()
{возвращает} смешанный тип параметры экземпляра HTML Purifier
Исходный код: framework/web/widgets/CHtmlPurifier.php#104 (показать)
public function getOptions()
{
    return 
$this->_options;
}

Получить параметры для экземпляра HTML Purifier.

getPurifier() метод

protected HTMLPurifier getPurifier()
{возвращает} HTMLPurifier
Исходный код: framework/web/widgets/CHtmlPurifier.php#113 (показать)
protected function getPurifier()
{
    if(
$this->_purifier!==null)
        return 
$this->_purifier;
    return 
$this->createNewHtmlPurifierInstance();
}

Получить экземпляр HTML Purifier или создать новый, если он не существует.

processOutput() метод

public void processOutput(string $output)
$output строка вывод для обработки
Исходный код: framework/web/widgets/CHtmlPurifier.php#68 (показать)
public function processOutput($output)
{
    
$output=$this->purify($output);
    
parent::processOutput($output);
}

Обрабатывает полученный вывод. Этот метод очищает вывод с помощью HTML Purifier.

purify() метод

public mixed purify(mixed $content)
$content смешанный тип содержимое для очистки.
{возвращает} смешанный тип очищенное содержимое
Исходный код: framework/web/widgets/CHtmlPurifier.php#79 (показать)
public function purify($content)
{
    if(
is_array($content))
        
$content=array_map(array($this,'purify'),$content);
    else
        
$content=$this->getPurifier()->purify($content);
    return 
$content;
}

Очищает HTML-содержимое, удаляя вредоносный код.

setOptions() метод

public static setOptions(mixed $options)
$options смешанный тип параметры для HTML Purifier
{возвращает} статический сам экземпляр объекта
Исходный код: framework/web/widgets/CHtmlPurifier.php#93 (показать)
public function setOptions($options)
{
    
$this->_options=$options;
    
$this->createNewHtmlPurifierInstance();
    return 
$this;
}

Установить параметры для HTML Purifier и создать новый экземпляр HTML Purifier, основанный на этих параметрах.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CHtmlPurifier

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API