Я использую приведенную ниже конфигурацию для очистки ввода от пользователя в моем проекте Yii, используя встроенную поддержку HtmlPurifier
array(
'URI.AllowedSchemes' => array(
'http' => true,
'https' => true,
),
"HTML.SafeEmbed" => true,
'HTML.TargetBlank' => true,
"HTML.SafeIframe" => true,
"Filter.YouTube" => true,
'URI.SafeIframeRegexp' => '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'
),
Пример:-
<iframe width="560" height="315" src="https://www.youtube.com/embed/Xe2nlti47kA" frameborder="0" allowfullscreen></iframe>
Выше URL после сохранения после очистки преобразуется в код ниже iframe
<iframe width="560" height="315" src="https://www.youtube.com/embed/Xe2nlti47kA" frameborder="0"></iframe>
Как мы можем разрешить атрибут allowfullscreen как безопасный? Решит ли это какое-либо изменение в регулярном выражении или нужно будет применить собственное решение?
Уже есть полезная ссылка, которая решит ответ ….. Нам нужно реализовать собственный класс, чтобы разрешить атрибут «allowfullscreen». Это добавит этот атрибут в очищенный код iframe.
Ссылка
http://sachachua.com/blog/2011/08/drupal-html-purifier-embedding-iframes-youtube/
Ответил Сонни
HTMLPurifier iframe Vimeo и Youtube видео
меры
1) Включите класс сверху URL.
2) Установите Filter.custom точно так, как показано выше в URL.
Задание параметров Html Purifier может быть различным в рамках.
Других решений пока нет …