Замена <
на <
сделает тег стандартной строкой, так как он больше не является тегом, поскольку он начинается с <
, а не <
.
Например, <div>
- это тег, тогда как <div>
- нет; это просто строка Это означает, что любые теги <script>
анализируются как строки, предотвращая XSS. Замена &
на &
остановит корректный анализ аргументов в URL-адресах XSS (например, www.url.com/index.php?foo=bar&bar=zip
превратится в www.url.com/index.php?foo=bar&bar=zip
), что не является допустимым URI.
Конечно, эти усилия по санации не являются окончательными; Будут способы обойти это, как и в любой реализации безопасности.