Например на моем сайте есть комментарии, которые оставляют пользователи, Вопрос?
Как лучше делать:
1) Сохранять в бд полностью все что ввел пользователь, со всеми тегами, со всеми внутреними множественными пробелами итд и на выводе коментария, все фильтровать и выводить
2) Или перед записью в БД весь коментарий фильтровать на все это, а потом просто выводить
@therealvetalhidden когда в жизни что-то бывает лучше, а что-то хуже, то очень скоро то, что хуже забывается и о нем никто не знает.
Все зависит от задачи. Я написал: боитесь? экономите? уверены, что изменений в правилах не будет или они не критичны? Уверены, что если пользователи ошибутся, наделают ошибок, их нужные данные затрутся - это не принесет серьезного ущерба? Фильтруйте сразу.
Хотите гибкости? Оставляйте как есть, потом решите.
Ну а дальше уже конкретика. Например, если у вас контент редко создается, но часто отображается и производительность критична, то, может быть, выгоднее один раз отфильтровать, что б потом не дергаться.
Если у вас один и тот же контент должен отображаться по-разному (в полном виде для админа и безопасном для юзера) - то тут никуда не денешься... и т.д.
@victorvsk спасибо) я решил сделать так:
1) перед бд буду фильтровать комментарий скажем фильтром безопасности trim substr mysql_real_escape_string strip_tags htmlspecialchars
2) а на выводе буду уже фильтровать на уровне добавления html и удаление внутрених пробелов
@therealvetalhidden зависит от того, что у вас за контент. например, если решите все же разрешить тег то всякие > потом надо будет еще преобразовывать обратно, если их засейфит.