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



Спустя 1 день, 2 часа, 19 минут, 11 секунд (22.10.2010 - 06:55) Белый Тигр написал(а):
Если вы о том, чтоб дать пользователям сайта пользоваться WYSIWYG-редакторами, то это очень плохая идея. Так не далеко до XSS, для защиты от которых и нужна функция htmlspecialchars(). Подобными редакторами лучше пользоваться в админ-панели, для создания администратором статей или новостей. Если уж так хочется чтоб пользователи имели на сайте нечто подобное, то посмотрите в сторону простейших редакторов, имеющих всего несколько основных тегов типа <b>, <i> и т.д. без возможности указаниях их свойств (<tag name="value">)
При этом на стороне сервера всегда придётся проверять поступивший от пользователя текст, вырезая всё кроме выбранных вами тегов.

Спустя 1 час, 39 минут, 7 секунд (22.10.2010 - 08:35) sergeiss написал(а):
Цитата (zsaz @ 21.10.2010 - 05:36)
или надо как-то извлекать по другому???


htmlspecialchars_decode() - функция, обратная к htmlspecialchars.

Но и контролировать то, что выводится, тоже надо. То есть, некоторые тэги, действительно, лучше "запретить". То есть их выводить в виде символов, чтобы они просто показывались как тэги, без их обработки браузером.

Спустя 13 дней, 2 часа, 8 минут, 34 секунды (5.11.2010 - 11:43) Guest написал(а):
даже в разрешенных вами тегах можно вставить всякие там onclick / onmouseover и прочее

Спустя 4 часа, 7 минут, 50 секунд (5.11.2010 - 15:51) Белый Тигр написал(а):
Если добавить проверку на их чистоту, то ничего страшного не будет. Разрешить например тег <b> только в таком виде, и ни в каком другом.
Здесь может помочь preg_replace с регулярками вида #<b(.*)>#


_____________
Быстрый ответ:

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