Когда вы собираетесь что-то выводить, strip_tags
или htmlspecialchars
в порядке. Я предпочитаю последнее, так как тогда вы не полностью уничтожаете <3
и тому подобное, которые в любом случае никогда не подразумевались как HTML-теги.
При вводе значения непосредственно в запрос, mysql_real_escape_string
- это подходящий способ избежать или просто использовать PDO и подготовленные операторы.
Конечно, лучше использовать эти escape-методы только тогда, когда они вам понадобятся, а не применять обе эти переменные когда-либо. Всегда трудно избавиться от косой черты из MySQL-экранированной переменной, если вы действительно хотите работать с ней, прежде чем поместить ее в базу данных, и это не лучше волшебных цитат PHP4. Точно так же вы не хотите превращать чей-либо пароль «один <два» в «один & lt; два» перед тем, как вставить его в базу данных. (Очевидно, вы не должны хранить незашифрованные пароли, но общий пример не работает.) </p>