Express - 如何阻止无效的http方法?

时间:2017-11-16 22:21:31

标签: http express routing

我收到无效的http方法(见下文),因为路由有效,会触发我服务器的超时错误。有没有办法阻止Express中的所有无效请求?我在谷歌上找不到任何东西。 Invalid http requests

1 个答案:

答案 0 :(得分:0)

采用白名单方法

// before your other code check supported methods
// assuming these ones are, just add/remove ones to customize
if (!/^(GET|PUT|POST|DELETE)$/.test(req.method)) {
  res.status(400).end('bad request');
  return;
}

// your code goes here now
如果使用快递

使用中间件

router.use((req, res, next) => {
  if (!/^(GET|PUT|POST|DELETE)$/.test(req.method)) {
    res.status(400).end('bad request');
    return;
  }
  next();
});

唐纳德拉姆斯菲尔德的话来说......

  

有些事情表明事情没有发生,对我来说总是很有趣,因为据我们所知,有已知的知识;有些事我们知道我们知道。我们也知道有未知的知识;也就是说我们知道有一些我们不知道的事情。但也有未知的未知因素 - 我们不知道我们不知道的。如果看一下我们国家和其他自由国家的历史,那么后一类往往是困难的。

tldr; 指出,您只能知道自己知道的内容,因此请使用白名单。