js限制API只能访问来自同一网站的页面
express.js limit api access to only pages from the same website
我使用parse.com来托管我的应用程序。我建立了一个简单的api,反馈json。url很简单,像这样: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();
您希望防止跨域资源共享,而express.js
已经阻止了跨域资源共享。为了允许它从某些网站,你必须设置Access-Control-Allow-Origin
和Access-Control-Allow-Headers
(见这里)。
如果你创建一个HTTP请求到一个不同的域,你在那里必须发送一个Origin
HTTP头包括请求域。在此基础上,web服务器决定是否响应请求。
如果你想阻止CORS从所有的域,除了一个网站的托管: 你不需要做任何事情
如果你想允许它从某些网站,更改Access-Control-Allow-Origin
-头为您想要的域名。
相关文章:
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- 仅允许使用 Dropbox API 访问特定网站
- Firebase API 问题与 AngularJS 网站示例项目
- Codecademy代码在他们的网站上连接到Youtube API,但赢得了't在本地运行
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- MailChimp - 通过我的网站选择(如何通过API添加)
- 验证网站的 API
- 网站的拼写检查 API
- 将自定义标记添加到自定义样式的 Google Maps API v3 for Wordpress 网站
- 为我的网站使用Facebook API JSON的最简单方法(哪种语言以及如何语法)
- 将 Facebook 好友添加到网站 [图形 API 2.5]
- 如何防止网站外部的 API 调用
- 如何使用LinkedIn Javascript API作为我自己网站的登录名
- 如何在网站中使用天气API
- 使用谷歌地图API将自定义地图嵌入网站
- 将Microsoft的情感 API 添加到 HTML 网站
- Facebook对象API - 创建为文章,认为它是网站
- 如何获得谷歌网站管理员api(Node.js)的访问令牌
- 在Chrome扩展中保护网站API密钥