Я использую ckeditor 4.5, и мы недавно добавили OWASP Html Sanitizer в конец экрана для экрана для атак XSS. Одной из особенностей этого инструмента является фильтр того, какие протоколы разрешены для элементов href.Есть ли способ фильтрации протоколов в href
Мы обнаружили, что, хотя наш список протоколов совпадает с тем, который содержит ссылка, люди продолжают вставлять содержимое в ckeditor с разными протоколами, которые мы не поддерживаем, например. которые мы хотели бы отфильтровать изнутри ckeditor, чтобы мы не отметили наивную вырезку & в качестве атаки xss.
Кажется, что AdvancedContentFilter может указывать отдельные классы и стили, но не протоколы href или более общие значения атрибутов.
Можно ли это сделать изнутри CKEDITOR?
Edit: Подойдя ближе, я думаю, я добавил:
config.disallowedContent = {
a: {
match: function(element) {
var allowedProtcols = /^(?:http|https|mailto|tel|ftp|news):/;
return !allowedProtcols.test(element.attributes.href);
}
}
};
К сожалению, это, кажется, сделать кнопку ссылку исчезнет из строки меню.