在以下node.js服务器代码中,由于"ABCDE"不是已定义的变量,因此在请求"/ upload"时会引发错误.令我困惑的是,在服务器端控制台上打印的错误堆栈跟踪被发送回客户端,这是不安全的.
除了捕获错误之外,我该如何防止这种情况?
var express = require('express');
var app = express();
app.use(function (err, req, res, next) {
res.send(500, 'Something broke!');
});
app.post('/upload', function (req, res) {
console.log(ABCDE);
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
您已经在问题中找到了答案.您需要错误处理中间件(app.usearity为4的函数)来处理错误.
您只需要在路由器之后添加错误处理中间件.您的示例将错误处理程序放在路由器上方.
移动app.use(function (err, req, res, next))到代码的底部或插入
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)
在错误处理程序之上.
| 归档时间: |
|
| 查看次数: |
1969 次 |
| 最近记录: |