Показать сообщение отдельно
  #4 (permalink)  
Старый 14.12.2010, 10:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Тут два момента.

Первый: сохранение комментария. Если комментарии хранятся в реляционной базе, то надо защититься от SQL-инъекции. Для этого нужен mysql_real_escape_string, а лучше механизм placeholder-ов. htmlspecialchars на этом этапе не нужен, иначе будет уже не тот коммент, который добавлялся. Если комментарии хранятся в файлах, то там уже возможно заморочки с разделителями записей могут быть. Если в какой-нибудь объектно-ориентированной базе, вроде mongodb, то проблем вообще никаких нет. Комментарий сохраняется как есть.

Второй момент: вывод комментария на страницу. Т.к. комментарий выводится в HTML, то все символы, специфичные для HTML нужно экранировать. Вот на этом этапе нужен htmlspecialchars.
Если бы комментарий выводился в другом формате, json например, то htmlspecialchars, вобщем-то, не нужен.

Вобщем главное понять, для чего делается то или иное действие.
Ответить с цитированием