我试图解决它使用inHTMLData()的xss过滤器库像这个答案。但它不起作用,因为req.query
是一个对象
function data(req, res) {
fetchData(req.params.uniqueId, req.params.name, req.query) // query has multiple data
.then((result) => {res.json(result)})
.catch((error) => res.json(error));
};
使用xss-filters npm库
- 第一个字符串化查询字符串 使用xss-filters的inHTMLData
- 使用JSON.parse
const xssFilters = require('xss-filters');
函数data(req, res) {
const uniqueId = xssFilters.inHTMLData(req.params.uniqueId);
const name = xssFilters.inHTMLData(req.params.name);
const query = xssFilters.inHTMLData(JSON.stringify(req.query));
fetchData(uniqueId, name, JSON.parse(query)) // query has multiple data
.then((result) => {res.json(result)})
.catch((error) => res.json(error));
};