【发布时间】:2021-07-11 18:45:52
【问题描述】:
以下是我当前的代码,但是,我很确定它很糟糕。它可以工作并且可以完成工作,但我认为我可能会成为当前解决方案的 SQL 注入的受害者。我对 Javascript 和 SQL 都很陌生,所以请原谅我的愚蠢问题。
app.post('/api/v1/relevantEvents', async (req, res) => {
try {
let events = req.body.cookie;
if (!events) events = [];
let a = "";
for (let i = 0; i < events.length; i++) {
a += "subject = '" + events[i] + "'";
if (i !== events.length - 1) a += " OR ";
}
const allEvents = await pool.query("SELECT * FROM events WHERE subject IS NULL or " + a);
res.json(allEvents.rows);
} catch(err) {
console.error(err.message);
}
});
请求的主体是一个数组,其中的值存在于某行中。
【问题讨论】:
标签: javascript sql node.js postgresql express