相关疑难解决方法(0)

为什么客户端验证不够?

我在这里看到:

您可能已经知道,仅依靠客户端验证是一个非常糟糕的主意.始终执行适当的服务器端验证.

你能解释为什么服务器端验证是必须的吗?

validation server-side client-side-validation

40
推荐指数
6
解决办法
9975
查看次数

使用 CORS 保护 API

我想用 CORS 保护我的 API。我希望我的 API 只能从选定的域进行调用访问。

我正在使用 node.js 和 express,所以我添加到我的项目中:https : //github.com/expressjs/cors

和示例代码:

var express = require('express')
var cors = require('cors')
var app = express()

var corsOptions = {
  origin: 'http://example.com',
  optionsSuccessStatus: 200
}

app.get('/test', cors(corsOptions), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for only example.com.'})
})
Run Code Online (Sandbox Code Playgroud)

但是,如果我通过 POSTMAN 从本地主机发出请求,我仍然会从该路由中得到响应。这应该被阻止并且只适用于来自一个域(example.com)的请求。

我之前试过:

router.get('/test', cors(corsOptions), function(req, res, next) {
  console.log(corsOptions);
  res.header("Access-Control-Allow-Origin", "http://www.example.com);
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  res.status(200).send({ work: true });
});
Run Code Online (Sandbox Code Playgroud)

但这也让我对邮递员的要求...

我想要一个 API,只有当它涉及到我的 example.com 页面并且来自 JavaScript 发送的请求时才能被引用。

javascript api node.js cors express

3
推荐指数
1
解决办法
2117
查看次数