Я использую php 5.4.4, работающий как UTF-8, и я не уверен, что я правильно использую htmlspecialchars.
Мои строки / vars выглядят так:
$text = "<p><span class='clx'>By:</span> ".htmlspecialchars($foo)."</span></p>"; echo $text;
Нужно ли мне использовать ENT_QUOTES
или это необходимо только тогда, когда мне нужно что-то повторить
внутри, например: href="$foo" or id='$foo'
?
Atm, om только с использованием htmlspecialchars внутри закрытых тегов html, а не атрибутов.
Просто конкатенируйте var внутри строки в <p>
теге </p>
благодаря
Обычно вы должны использовать его, беря данные из базы данных и вставляя их в элементы html. Это делается для того, чтобы цитаты из данных не закрывали котировки значений и не испортили html.
Короткий ответ: Всегда.
Длинный ответ: я настоятельно рекомендую читать OWASP в PHP Top 5 и PHP Cheat Sheet
Top 5 OWASP охватывает пять наиболее серьезных и распространенных уязвимостей безопасности, с которыми сталкивается PHP сегодня:
Он демонстрирует распространенные ошибки и решения, и стоит прочитать для любого PHP-разработчика, даже рассматривая возможность размещения живого веб-сайта.