Раньше как то не задумывался над вопросом экранирования в HTML, а сейчас столкнулся с этим, короче есть много полей input и textarea в которых по мимо обыкновенного текста есть и HTML код (а так же JS и PHP), и при выводе этих полей в БД проверяется не заполнены ли эти поля и если заполнены, берется из БД информация и вставляется, т.е. что то типа: Код (PHP): <?php $code = get_info_from_db('my_code'); ?> <input type="text" name="my_code" <?php echo empty($code) ? '' : "value=\"{$code}\""; ?> /> если я буду все полученные данные в input и textarea (как заданные значения или значения по умолчанию для вывода) экранировать при помощи htmlspecialchars (даже там, где не предполагается ни каких символов для экранирования) это нормально будет? т.е.: Код (PHP): <?php $code = htmlspecialchars( get_info_from_db('my_code') ); ?> <input type="text" name="my_code" <?php echo empty($code) ? '' : "value=\"{$code}\""; ?> /> И еще вопрос, экранированный текст вставился в input или textarea, я его отправил, там на сервере мне надо с ним что то делать? убирать экранирование например, я уже проверил, вроде как текст приходит нормальный и не требует убирания экранирования, но все же лучше уточнить, чем потом думать в чем ошибка.
Так я же описал для чего я собираюсь использовать htmlspecialchars, даже код привел в пример, еще раз тогда повторю на всякий случай, я собираюсь использовать htmlspecialchars только в тех случаях, когда мне надо вывести значение по умолчанию для тегов input или textarea, как показано в коде выше. Может бывают такие ситуации когда такое экранирование навредит и я получу не то что мне нужно. Хотя не могу представить такие ситуации, но это скорее от неопытности. Вот и интересуюсь у знатоков.
Если выводишь то на что могут повлиять пользователи то экранировать надо тогда не смогут вставить допустим зловредный js код. Перед записью в базу нет смысла экранировать htmlspecialchars главное защититься от sql injection.
нормально блин. ты описал ситуацию - ты будешь выводить текст внутри тега. внутри тега нормально использовать htmlspecialchars(). если тебя интересует некая другая ситуация - обознач её конкретно, а не "вдруг бывает". Бывает конечно.