Есть ли в этой дезинфекции какие-либо утечки XSS
Я хочу убедиться,что моя дезинфекция не имеет никаких утечек. Кроме того, im выводит только пользовательские данные в жестко закодированных P-тегах и h1-тегах
Например: <p><?php echo htmlspecialchars($user_data); ?></p>
Так что это безопасный способ защитить меня от XSS-инъекций.
Во-первых, я использую эту функцию для санетизации данных, прежде чем они будут вставлены в мою БД, и в то время как в моей БД я использую bind_param
function sanitize($str) {
return strtolower(strip_tags(trim(($str))));
}
sanitize($user_data); - > then gets inserted into db
Затем, когда я захватываю данные из БД, я использую это, чтобы показать их.
<p> <?php echo htmlspecialchars($user_data); ?> </p>
Итак, это безопасный путь блокировать любые XSS?
Спасибо!
1 ответ:
С точки зрения безопасности нет необходимости использовать функцию очистки, Если вы правильно экранируете / обрабатываете данные для носителя, на который вы выводите:
- Использование
htmlspecialchars()
- это все, что нужно для вывода в html;- Используйте
json_encode
, Если вам нужно вывести на javascript;- используйте готовые операторы со связанными переменными для своей базы данных;
- и т. д.