[XSS]Expressjs 阻止从 POST 请求运行脚本
[XSS]Expressjs prevent run script form POST request
我是ExpressJs的新手。我有一个关于发布的javascript的问题
app.get('/nothing/:code',function(req, res) {
var code = req.params.code;
res.send(code)
});
如果我发布javascript标签,它会运行。有没有办法防止这种情况发生?
市面上有许多可能的HTML清理器(因为在NPM上进行的简单搜索将为您提供可以在nodejs代码中使用的列表)。
最简单的方法是简单地使用内置的"转义"功能,但这不会阻止许多XSS攻击。
app.get('/nothing/:code',function(req, res) {
var code = escape(req.params.code);
res.send(code)
});
更好的解决方案是使用为此目的设计的库。例如,如果您使用了 santizier 库(Google Caja 为 node 打包的 HTML 清理器):
var sanitizer = require('sanitizer');
...
app.get('/nothing/:code',function(req, res) {
var code = sanitizer.sanitize(req.params.code);
res.send(code)
});
相关文章:
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- 为什么 AJAX POST 请求不起作用
- Ajax POST请求没有'我不了解PHP
- 防止双击执行两次jQuery post请求
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 如何使用Javascript获取POST请求填充的元素的值
- NodeJS中POST请求的请求体为null
- 在Fiddler JavaScript中识别POST请求
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 通过AJAX向同一页面发送POST请求,并使用$_POST获取值
- Ajax Post请求不起作用
- 如何在cloud9中向server.js发送post请求
- mootools表单json post请求
- 可以'无法在CasperJS中复制POST请求
- 使用用户名/API令牌javascript的Jenkins POST请求
- 在表单上注入javascript以发送post请求
- 使用javascript在post请求中传递用户输入变量
- 如何使用javascript进行post请求
- 如何在Javascript中通过POST请求发送XML数据