[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: фильтрация данных, атрибут contentable
Qha
сразу скажу - я любитель, поэтому следущий вопрос кому-то может показаться глупым...

недавно наткнулся на интересный атрибут contentable, который делает блок доступным для редактирования, то есть если скопировать текст с WORD - все его стили сохраняються и получается что-то вроде токого:

<span style="font-size:12.0pt;line-height:115%;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:
minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;
mso-bidi-theme-font:minor-bidi;mso-ansi-language:RU;mso-fareast-language:EN-US;
mso-bidi-language:AR-SA">
Текст</span>

возникает вопрос: как сохранить стили и не допустить XSS
Если использовать функцию strip_tags - она пропустит все атрибуты в том числе и всякие onclick, onmouseover...

Подобное реализовано на яндекс почте - там удаляется весь вредноносный код а стили и теги сохраняются
Zzepish
Qha
contenteditable*

Ты просто когда будешь выводить текст, ставь echo htmlspecialchars($text).
И будет тебе вывод без xss атак и с сохранением стилей)
Qha
да... так всё просто оказывается smile.gif , спасибо
Zzepish
Qha
всегда пожалуйста))
Qha
нет, подожди, так не получится: htmlspecialchars вываливает все теги в виде текста, а нужно чтобы результатом фильтрации например строки:

<span onclick="alert(123)" style="font-family: ARIAL; font-size: 15px;">ТЕКСТ</span>

было

<span style="font-family: ARIAL; font-size: 15px;">ТЕКСТ</span>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.