Frants
New Member
- Регистрация
- 11.01.2012
- Сообщения
- 7
Для защиты от межсайтового скриптинга использую функцию htmlspecialchars:
Но она превращает все теги, хранимые вместе с текстом в базе данных в HTML-сущности, т.е. '<' преобразуется в '<' и т.д. В итоге на экране текст появляется вместе с тегами:
Ну и, как вы уже догадались, вопрос: как избежать появления тегов на экране в выводимом тексте?
Пока придумал только такой способ: в БД вместо, например, вместо тега '<p>' использую '<p>', а вместо функции htmlspecialchars использую ее обратный вид: htmlspecialchars_decode. Так работает, но защищает ли это от межсайтового скриптинга?
Код:
<?php echo htmlspecialchars($myrow['text']); ?>
Код:
<p><strong>Галактика</strong> - это ... </p>
Пока придумал только такой способ: в БД вместо, например, вместо тега '<p>' использую '<p>', а вместо функции htmlspecialchars использую ее обратный вид: htmlspecialchars_decode. Так работает, но защищает ли это от межсайтового скриптинга?