Использование htmlspecialchars при выводе из базы

Guest2011

Новичок
Прочитал в интернете, что надо всегда обрабатывать данные перед выводом в поток функцией htmlspecialchars.
Данные, выводимые из базы в заголовок title, обработались без проблем.
А вот вывод основного контента:
<?php echo htmlspecialchars($myrow['text']); ?>

вывелся из базы не просто как текст, а с тегами.
(Т.к. в базе у меня в таблице поле text содержит теги).
Подскажите, пожалуйста, надо ли обрабатывать функцией htmlspecialchars вывод этого поля или каким другим способом произвести правильный вывод из базы, чтобы не было видно тегов разметки.
 

DiMA

php.spb.ru
Команда форума
1. да, использовать всегда
2. не хранить засранный текст тегами (только чистый текст, теги добавить на лету)
 

tz-lom

Продвинутый новичок
DiMA
а если это статика создаваемая администратором?
 

DiMA

php.spb.ru
Команда форума
В базе - только оригинальные данные без обвесок (типа объекта или массива) или оригинальный юзерский текст.
 

Guest2011

Новичок
У меня сайт. Делаю как объясняет Е.Попов в курсе про Блог.
Сделал. Всё нормально. Но вот прочитал на сайте http://irbis-team.com/15/10/2 ,
что надо использовать перед выводом данных функцию htmlspecialchars.
У меня такая структура сайта как и у Е Попова.
У него есть файл view_post, который выводит разные страницы в зависимости от id, переданного методом GET.
Если использовать в базе только чистый текст без тегов, как предлагает DiMA, то тогда для вывода каждой страницы надо будет создавать собственный файл, ведь содержимое не шаблонное а отличается . А так всё компактно выводится одним файлом view_post
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Guest2011
Не упоминай здесь о Жене больше никогда.
Я храню оба варианта.
1. Текст юзера в первозданном виде (дабы он не увивлялся если захочет редактировать).
2. Очищенный и подготовленный текст для вывода (Cтрипнутые html-теги, и замененныe bb-коды на html)
 

Guest2011

Новичок
Я вывожу из базы свои данные - не юзера.
(Диалог с юзером на сайте пока не предполагается)
Стоит ли мне их обрабатывать функцией htmlspecialchars, или т.к. данные введены мной непосредственно в базу, то можно обойтись без этой функции?
Файл должен выводить разные страницы в зависимости от id, переданного методом GET.
Если использовать в базе только чистый текст без тегов, то тогда для вывода каждой страницы надо будет создавать собственный файл, ведь содержимое не шаблонное а отличается . А так всё компактно выводится одним файлом.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Я вывожу из базы свои данные - не юзера.
Да хоть президента.
Данные нужно обрабатывать __всегда__
В не зависимости от того, кто их добавляет.
 

skryisli

Новичок
Mr_Max написал(а):
Я храню оба варианта.
1. Текст юзера в первозданном виде (дабы он не увивлялся если захочет редактировать).
2. Очищенный и подготовленный текст для вывода (Cтрипнутые html-теги, и замененныe bb-коды на html)
Что-то одно тут лишнее.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
skryisli
Нет. Подумай почему.
 

weregod

unserializer
2. Очищенный и подготовленный текст для вывода (Cтрипнутые html-теги, и замененныe bb-коды на html)
скорее всего имелось в виду, что хранятся данные, готовые к выдаче на странице без всякого кодирования, ибо хранить одновременно стрипнутые теги и bb-коды, переведённые в html невозможно.
 

vovanium

Новичок
weregod
Можно, если удалять юзерский html, а потом преобразовывать bb-коды
 

iceman

говнокодер
> Файл должен выводить разные страницы в зависимости от id, переданного методом GET.

нет - страница одна, шаблон дизайна 1, а вот контент который берется из базы - разный - и без хтмл, минимум <b><a><u><i> и все, все остальное должно разгуливаться шаблонами и стилями

не храни разные страницы с версткой в базе.

и не читай больше попова.
 
Сверху