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 — большой пакет, его производительность не очень высока. Следует рассмотреть возможность кэширования результата очистки или очищения входных данных пользователя перед сохранением в базу данных.
Использование как класса:
Использование как правила валидации:
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 |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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