首页 > 解决方案 > 如何确保对我的服务器的请求仅通过单一来源/用户界面起作用?

问题描述

我有一个 node.js 服务器,它对我的​​ mongoDB 具有 HTTP CRUD 功能。

以及通过这些功能发送请求的 Android 应用程序。

我想确保我的服务器会回答来自特定来源的请求。

例如:只回答来自 android 应用程序的请求,或者我的电脑邮递员的请求。

如何确保没有其他人使用相同的 url 和端口发送请求会得到答复?

这是我的 server.js 文件:

const express = require('express');
const MongoClient = require('mongodb');
const bodyParser = require('body-parser');
var db = require('./config/db');
var app = express();


const port = 8000;
app.use(bodyParser.json());



MongoClient.connect(db.url, (err, database) => {
    if (err) return console.log(err)


    db = database.db("getremp")
    require('./app/routes')(app, db);



        app.listen(process.env.PORT || port, () => {

            console.log("Express server listening on port %d in %s mode - We Are lIVE!",app.settings.env.port, app.settings.env);
    });

})

和我的 index.js:

const noteRoutes = require('./note_routes');
module.exports = function (app, db) {
    noteRoutes(app, db);
};

标签: node.jsexpressuser-interfaceauthenticationserver

解决方案


您可以通过以下方式控制:

但是您必须记住,从移动应用程序发出的所有流量都可以被拦截(例如 Fiddler)。切勿使用静态(非动态)值来确保身份验证


推荐阅读