> СѓРґР°Р
Ушел думать (я перловод)...
Возможно проще подправить пару строчек в filter.module?
Или такие вещи небезопасны и надо все же использовать фильтр "Full html"?
Вместо этого, если бы автор не харкодил стили в контент и делал качественную работу, он бы прописал стили в CSS-файлах, а в контенте бы пользовался классами т.к. аттрибут вида class="someclass" фильтр не съедает.
Подождите-ка, раз предлагаете решение, так отвечайте за него. Я показал как ваш код ломается минимум двумя способами (и судя по вашей реплике, вы не поняли суть второго метода), предложил _правильную_ альтернативу, а вы говорите мне идти учить матчасть? Дак вот она, двумя комментами выше. Человек сейчас вставит этот код в вывод шаблонов нод или комментов. Зачем тогда бы он про фильтры спрашивал, если б дело было не с юзерским контентом.
Я так понимаю: не прав — скажи «не прав», показали как лучше — скажи «спасибо», улучши свой код. А вы юлить начали.
У меня клиенты имеют право на свой особенный дизайн для своей страницы.
Но раз параметр class не режется, то пока что разрешил тег style и клиент у себя на странице может прямо в тексте объявить стили.
Я им режу стили и класс
Но НИКАК не XSS (персоанально для neochief)
То, что ваш код не режет XSS, по чем зря, уже все поняли. Стоит клиенту ввести одну из строк, которую я привел выше, и они получат возможность поломать сайт.
Если бы избыток сарказма не искажал ваши мысли, вы возможно бы и дошли до решения проблемы вашего кода в виде списка разрешенных атрибутов (а не запрещенных, как сейчас). Но, по всей видимости, кроме написания саркастических комментов, вы очень занятой человек, и времени на решение проблем, вызванных вашими хаками, у вас нет.
Спасибо, Worth.
Действительно модуль wysiwyg_filter позволяет более серьезно настроить фильтрацию html, чем стандартный filter HTML.
Только ваш список настроек нужно немного расширить, иначе он фильтрует все ссылки. В третью строчку нужно добавить теги href и rel: a[target<_blank|title|rel|href],
также достоинством этого модуля является настраиваемый фильтр спамерских ссылок, которые добавляет rel="nofollow" к "ненужным" адресам.
Комментарии
> СѓРґР°Р
Ушел думать (я перловод)...
Возможно проще подправить пару строчек в filter.module?
Или такие вещи небезопасны и надо все же использовать фильтр "Full html"?
...и сразу расплачиваемся за самопис:
$vars['content'] = '<div onmouseover="document.write(\'XSS\')">Sometest</div>';
Вместо этого, если бы автор не харкодил стили в контент и делал качественную работу, он бы прописал стили в CSS-файлах, а в контенте бы пользовался классами т.к. аттрибут вида class="someclass" фильтр не съедает.
$vars['content'] = '<a href="javascript:document.write(\'XSS\')">Sometest</a>'
А тут будет чем ответить?
$vars['content'] = _strip_tags('<div onmouseonmouseover=""over="document.write(\'XSS\')">123</div>', 'div', 'onmouseover');
А здесь? Тридцать баксов в час, да?
Подождите-ка, раз предлагаете решение, так отвечайте за него. Я показал как ваш код ломается минимум двумя способами (и судя по вашей реплике, вы не поняли суть второго метода), предложил _правильную_ альтернативу, а вы говорите мне идти учить матчасть? Дак вот она, двумя комментами выше. Человек сейчас вставит этот код в вывод шаблонов нод или комментов. Зачем тогда бы он про фильтры спрашивал, если б дело было не с юзерским контентом.
Я так понимаю: не прав — скажи «не прав», показали как лучше — скажи «спасибо», улучши свой код. А вы юлить начали.
У меня клиенты имеют право на свой особенный дизайн для своей страницы.
Но раз параметр class не режется, то пока что разрешил тег style и клиент у себя на странице может прямо в тексте объявить стили.
То, что ваш код не режет XSS, по чем зря, уже все поняли. Стоит клиенту ввести одну из строк, которую я привел выше, и они получат возможность поломать сайт.
Если бы избыток сарказма не искажал ваши мысли, вы возможно бы и дошли до решения проблемы вашего кода в виде списка разрешенных атрибутов (а не запрещенных, как сейчас). Но, по всей видимости, кроме написания саркастических комментов, вы очень занятой человек, и времени на решение проблем, вызванных вашими хаками, у вас нет.
давайте без личного...
http://drupal.org/project/wysiwyg_filter
А здесь я написал как им пользоваться: http://nikita-petrov.com/drupal/esli-v-wysiwyg-tinymce-ili-ckeditor-obez...
Спасибо, Worth.
Действительно модуль wysiwyg_filter позволяет более серьезно настроить фильтрацию html, чем стандартный filter HTML.
Только ваш список настроек нужно немного расширить, иначе он фильтрует все ссылки. В третью строчку нужно добавить теги href и rel:
a[target<_blank|title|rel|href],
также достоинством этого модуля является настраиваемый фильтр спамерских ссылок, которые добавляет rel="nofollow" к "ненужным" адресам.
а не подскажите как сделать чтобы p class не обрезались? а то ckeditor именно классом выравнивание делает
отвечаю сам
легко, добавляем в правила ниже название класса в настройках
Спасибо, добавил в статью, действительно нужная строчка