XSS не является инфекцией, это тип уязвимости безопасности. Вы можете learn more about preventing XSS vulnerabilities here.
- Как определить тему может быть заражен с XSS атакой? или уже заражены?
Ответ на этот вопрос нелегко. Чтобы определить, является ли тема уязвимой для атак XSS, вам необходимо провести аудит каждого исходного файла и проверить каждое место, в котором создается выход, чтобы убедиться, что он не делает ничего опасного (например, <form action="<?php echo $_SERVER['PHP_SELF']; ?>">
).
- Как предотвратить заражение XSS?
Всегда избежать вывода для предотвращения пользовательских данных от добавления HTML сущности, такие как <
, >
и т.д. Быстрый вспомогательный метод для использования здесь:
function noHTML($input, $encoding='UTF-8')
{
return htmlspecialchars($input, ENT_QUOTES | ENT_HTML5, $encoding);
}
Обратите внимание, что это предотвратит предоставление пользователями любого HTML-кода.
- Используйте библиотеку, такую как HTML Purifier, чтобы избежать целых блоков HTML, чтобы предотвратить атаки XSS.