5

次の Expressjs アプリについて考えてみましょう。

var express = require('express');
var http    = require('http');
var httpApp = express();

httpApp.configure(function() {
    httpApp.use(express.static(__dirname + '/static/'));
});

var server = http.createServer(httpApp).listen(4444);

今、私はこのサーバーを公開せず、IP アドレス/ドメインに基づいて特定のクライアントからの要求にのみ応答するようにしたいと考えています。他の誰もが403 - Forbiddenエラーになるはずです。

API Docを検索し、これを行う方法を見つけて、最初にトラストプロキシを有効にし、app.enable('trust proxy')次に確認しreq.ipました。

reqただし、オブジェクトにアクセスできません。したがって、誰かがこのコードを取得し、IP/ドメインに基づいて要求を拒否する方法を教えてくれれば、それは非常に役立ちます

4

2 に答える 2

1

Express-ipfilter を使用する

インストール

npm install express-ipfilter

Express での使用

var express = require('express')
    , ipfilter = require('express-ipfilter')
    , app = express.createServer()
    ;

// Whitelist the following IPs 
var ips = ['127.0.0.1'];

// Create the server 
app.use(ipfilter(ips, {mode: 'allow'}));
app.listen(3000);

https://www.npmjs.com/package/express-ipfilter#installation

于 2016-06-23T08:48:48.080 に答える