Есть ли в этой дезинфекции какие-либо утечки 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 3

1 ответ:

С точки зрения безопасности нет необходимости использовать функцию очистки, Если вы правильно экранируете / обрабатываете данные для носителя, на который вы выводите:

  • Использование htmlspecialchars() - это все, что нужно для вывода в html;
  • Используйте json_encode, Если вам нужно вывести на javascript;
  • используйте готовые операторы со связанными переменными для своей базы данных;
  • и т. д.