почему _.escape изменяет / символы в Underscore.js? - PullRequest
9 голосов
/ 28 ноября 2011

Я просматривал Underscore.js API и заметил, что _.escape ускользает &, <, >, ", ' и /персонажи.Что меня удивило, так это то, что мне удалось сбежать /.

Есть ли причина избегать / символов, о которых я не знаю?

1 Ответ

15 голосов
/ 29 ноября 2011

РЕДАКТИРОВАТЬ : Хорошо, по-видимому, это рекомендуется OWASP , поскольку это "помогает завершить сущность HTML".

Избегайте следующих символов с кодировкой сущности HTML, чтобы предотвратить переключение в любой контекст выполнения, такой как сценарий, стиль или событие обработчики. Использование шестнадцатеричных сущностей рекомендуется в спецификации. К тому же до 5 символов значимых в XML (&, <,>, ", '), вперед косая черта включена, поскольку она помогает завершить сущность HTML.

& --> &amp;
< --> &lt;
> --> &gt;
" --> &quot;
' --> &#x27;     &apos; is not recommended
/ --> &#x2F;     forward slash is included as it helps end an HTML entity
...