gpt4 book ai didi

javascript - express.js 限制 api 访问仅来自同一网站的页面

转载 作者:搜寻专家 更新时间:2023-11-01 00:31:35 25 4
gpt4 key购买 nike

我正在使用 parse.com 托管我的应用程序。我已经构建了一个简单的 api 来反馈 json。网址很简单,如下所示:http://websitename.parseapp.com/api/new/1/10 .现在,我的 api 公开可见,但我想限制访问权限,以便只有来自同一域名的页面才能访问它。我如何使用 express.js 实现这一目标?

这是我所拥有的示例代码:

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

// Global app configuration section
app.set('views', 'cloud/views'); // Specify the folder to find templates
app.set('view engine', 'ejs'); // Set the template engine
app.use(express.bodyParser()); // Middleware for reading request body

// This is an example of hooking up a request handler with a specific request
// path and HTTP verb using the Express routing API.
app.get('/api/:page/:from/:to', function(req, res) {
res.render('hello', { message: 'Congrats, you just set up your app!' });
});

// This line is required to make Express respond to http requests.
app.listen();

最佳答案

您想阻止 Cross-origin resource sharing ,这已经被 express.js 阻止了。要允许来自某些站点的它,您必须设置 Access-Control-Allow-OriginAccess-Control-Allow-Headers(参见 here)。

如果您创建一个到不同域的 HTTP 请求,您所在的域必须发送一个包含请求域的 Origin HTTP header 。基于此,网络服务器决定是否响应请求。

如果您想阻止所有域的 CORS,但站点托管的域除外: 您无需执行任何操作。

如果你想允许它来自某些站点,请将 Access-Control-Allow-Origin-header 更改为你想要的域名。

关于javascript - express.js 限制 api 访问仅来自同一网站的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378997/

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