当用户填写表单时,如何在express.js
中转义用户输入?
express.js
默认执行此操作吗?我找不到来源。
我是否必须使用express-validator.js
之类的第三方模块?
更新
我想出了转义和验证之间的区别。
我想要做的是逃避用户输入,但我应该做的是验证它,确保它是有效的格式,然后将输出转义为表格,如果它无效,为用户提供他们输入的确切内容。
答案 0 :(得分:1)
<%= some_html %>
会自动转义它。 <%- some_html %>
将完整输出html。
答案 1 :(得分:0)
你需要做什么样的逃避? Express会自动为您解码(而不是unescape)查询字符串,并将其作为req.query
提供。 URL params也将自动为您解码。
如果您需要在渲染时转义包含用户输入的HTML,则应通过模板引擎执行此操作。默认情况下,大多数模板引擎(如jade(= value
)或把手或小胡子({{value}}
)都会转义HTML,并且需要使用显式语法通过非转义(!= value
在jade中传递数据或{在把手/胡子中{1}}。