Почему _.escape изменяет / символы в Underscore.js?
Я просматривал API Underscore.js и заметил, что _.escape
ускользает &
, <
, >
, "
, '
, а также /
персонажи. То, что удивило меня, сбежало /
,
Есть ли причина для побега /
персонажи, о которых я не знаю?
1 ответ
РЕДАКТИРОВАТЬ: Хорошо, по-видимому, это рекомендуется OWASP, поскольку он "помогает завершить сущность HTML".
Используйте следующие символы с кодировкой сущности HTML, чтобы предотвратить переключение в любой контекст выполнения, такой как сценарий, стиль или обработчики событий. Использование шестнадцатеричных сущностей рекомендуется в спецификации. В дополнение к 5 символам, значимым в XML (&, <,>, ", '), добавлена косая черта, поскольку она помогает завершить сущность HTML.
& --> &
< --> <
> --> >
" --> "
' --> ' ' is not recommended
/ --> / forward slash is included as it helps end an HTML entity
Прошло много времени, но я обнаружил ту же проблему. Странно то, что список изменений в коде соответствует подчеркиванию github
var escapeMap = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'`': '`'
};