I was looking through the Underscore.js api and I noticed that _.escape
escapes &
, <
, >
, "
, '
, and /
characters. What surprised me was escaping /
.
Is there a reason to escape /
characters that I don't know about?
I was looking through the Underscore.js api and I noticed that _.escape
escapes &
, <
, >
, "
, '
, and /
characters. What surprised me was escaping /
.
Is there a reason to escape /
characters that I don't know about?
EDIT: Alright, apparently, it is recommended by OWASP as it "helps end a HTML entity".
Escape the following characters with HTML entity encoding to prevent switching into any execution context, such as script, style, or event handlers. Using hex entities is recommended in the spec. In addition to the 5 characters significant in XML (&, <, >, ", '), the forward slash is included as it helps to end an HTML entity.
& --> &
< --> <
> --> >
" --> "
' --> ' ' is not recommended
/ --> / forward slash is included as it helps end an HTML entity
A lot of time passed but I found same issue. The strange is that the list of changes on the code are according to underscore github
var escapeMap = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'`': '`'
};
© 2022 - 2024 — McMap. All rights reserved.
/
to\/
it changes it to/
. Besides,</script>
would be changed to</script>
which wouldn't be an issue. – Gnostic