gpt4 book ai didi

javascript - [XSS]Expressjs 阻止运行脚本形成 POST 请求

转载 作者:行者123 更新时间:2023-12-03 07:07:17 26 4
gpt4 key购买 nike

我是 ExpressJs 新手。我对已发布的 javascript 有疑问

app.get('/nothing/:code',function(req, res) {
var code = req.params.code;
res.send(code)
});

如果我发布 javascript 标签,它就会运行。有什么办法可以防止这种情况发生吗?

最佳答案

有很多可能HTML sanitizers (如 simple search on NPM 将为您提供一个可以在 Nodejs 代码中使用的列表)。

最简单的方法是简单地使用内置的“转义”功能,但这并不能阻止许多 XSS 攻击。

app.get('/nothing/:code',function(req, res) {
var code = escape(req.params.code);
res.send(code)
});

更好的解决方案是使用为此目的设计的库。例如,如果您使用 santizier 库 ( Google Caja's HTML sanitizer packaged for node ):

var sanitizer = require('sanitizer');
...
app.get('/nothing/:code',function(req, res) {
var code = sanitizer.sanitize(req.params.code);
res.send(code)
});

关于javascript - [XSS]Expressjs 阻止运行脚本形成 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36765667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com