Как защитить поле комментариев от вставки ява скриптов внутри тега типа onClick

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Использую WYSIWYG редактор кода (не BBcode)
Как защитить сайт от такой штуки

Код:
<STRONG onclick="alert('13');">gfsgfdgfsgfd</STRONG>
Т.е. надо внутри тега оставить тольк <STRONG>. Соответственно и в других тегах тоже самое почистить. Может есть еще какие-то скрытые места о которых я не знаю при использовании WYSIWYG редакторов? Буду рад прочитать.
 
Есть. Визуальные редакторы в принципе слишком много на себя берут, добавляют лишние ненужные теги и стили. А чистить можно регулярными выражениями перед добавлении в базу данных.
 
можно сделать перевод всего текстового блока хтмлспешиалчарс
после чего по шаблонам заменить тэги на нужные, тогда ВСЕ нестандартные конструкции перестанут работать и будут отображаться просто в виде текста
(делал такую обработку на форуме недавно - пока проблем больше не обнаружено)
 
Использую WYSIWYG редактор кода (не BBcode)
А каким редактором пользуетесь? возможно это проблему можно решить на уровне редактора...
В противном случае фильтровать данные перед сохранением и отсекать всё лишнее с помощью регулярных выражений, но для этого нужно точно определить все "лишние" моменты
Или же можно фильтровать с помощью предустановленных шаблонов, как уже сказал betatest - такой вариант может получиться более универсальным.
Может есть еще какие-то скрытые места о которых я не знаю при использовании WYSIWYG редакторов? Буду рад прочитать.
Тут скорее нужно копать под конкретные WYSIWYG редакторы, потому что у всех свои "заморочки"...
 
А каким редактором пользуетесь? возможно это проблему можно решить на уровне редактора...
Если имеете ввиду защиту на уровне java-script, то ломается это токо так.

Пользуюсь (точнее выбрал) nicEdit. С возможность по клику показывать сразу готовый код или показывать страницу с тегами.



P.s. по идее должны же быть уже какие-то готовые решения для таких случаев.
 
какой смысл их вырезать? Если такое появилось, то явно пишется не нормальный текст, а спам. Нужно делать поиск по ключевым словам onclick= и подобным и просто запрещать к постингу.
 
какой смысл их вырезать? Если такое появилось, то явно пишется не нормальный текст, а спам. Нужно делать поиск по ключевым словам onclick= и подобным и просто запрещать к постингу.
могут же необязательно ява-скрипт на онклик повесить. имхо правильнее было бы проверять пост на наличее в параметрах тегов ява-скрипта и ссылок на ява-скрипт, которые можно много куда засунуть. и либо выстригать параметр тега либо запрещать к постингу.
 
Все зависит от того, какие параметры в тэгах прописывает этот редактор, если этих параметров мало (только в картинках например), то такие параметры добавляем в исключения, а остальные все вырезаем регулярным выражением.
 
Все зависит от того, какие параметры в тэгах прописывает этот редактор, если этих параметров мало (только в картинках например), то такие параметры добавляем в исключения, а остальные все вырезаем регулярным выражением.
Пусть например редактор пропускает только тег STRONG, но он же не фильтрует содержимое внутри тега (см. самое первое сообщение)
Код:
<STRONG onclick="alert('13');">gfsgfdgfsgfd</STRONG>

Как удалить ненужные теги - это понятно striptags() с нужными параметрами, а вот как убрать из тега все ненужное... вот в чем вопрос.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху