我应该清理 express js 中的用户输入吗?

Should i sanitize user inputs in express js?

我使用 express-validator escape() 来清理用户输入并使用参数化查询将转义数据保存在数据库中。当我使用 EJS 视图引擎呈现来自数据库的输入时,我得到了转义字符。例如 ' 变成 ' 我需要在渲染时取消转义吗?或者我不应该使用消毒?

最佳做法是始终存储原始数据,因此如果用户发送“

”,您将“

”存储在您的数据库中,然后您 escape the string on the client side (or on server side if you are using server side rendering) before showing it on the HTML to prevent XSS。所以不要 escape() 你的 express 应用程序中的字符串,只存储原始文本。