2017-05-09 13 views
-1

自分で提供している1つまたは2つのIP以外のすべてのIPアドレスが自分のサイトにアクセスするのをブロックする必要があります。私は多くのモジュールを試しましたが、何も動作していないようです。私の上記のコードから、私のサイトを実行するとアクセスに関するエクスプレスでIPのホワイトリストを作成するには?

var express = require('express') 
var AccessControl = require('express-ip-access-control'); 
var app = express() 

app.get('/', function (req, res) { 
    res.send('Hello World!') 
}) 

var middleware = AccessControl(options); 
app.use(AccessControl(options)); 

var options = { 
    mode: 'deny', 
    denys: [], 
    allows: ['**8.1**.1.**'], 
    forceConnectionAddress: false, 
    log: function(clientIp, access) { 
     console.log(clientIp + (access ? ' accessed.' : ' denied.')); 
    }, 

    statusCode: 401, 
    redirectTo: '', 
    message: 'Unauthorized' 
}; 

app.listen(3000, function() { 
    console.log(' app listening on port 3000!') 
}) 

私は、コンソールメッセージを取得しています

::ffff:127.0.0.1 accessed. 
::ffff:127.0.0.1 accessed. 
::ffff:127.0.0.1 accessed. 
::ffff:127.0.0.1 accessed. 

として任意のヘルプ?

+0

私は(https://www.npmjs.com/package/express-ip-access-control#allow-mode-whilelist)それは明らか –

+1

[細かいマニュアルを読む]作る、あなたのコードを理解していませんでしホワイトリストモードは_ "許可" _する必要があります。 – robertklep

+0

私はあなたがあなたの '許可する 'のIPを入れているのを見たことがありません – Beginner

答えて

2

optionsを定義してから、を使用する必要があります。それ以外の場合は、undefinedからapp.use(AccessControl(options))に渡しています。

これがどのようにコンパイルされているか分かりませんが、スクリプトの先頭に次の行を追加すると、いくつかのエラーが表示されるのを助けるかもしれません。

'allow'モード(Whilelist):

は、デフォルトで拒否のみホワイトリスト( allows)でIPとはないが、除外できるよう express-ip-access-controlマニュアルに従って、第二に

'use strict'; 

、ブラックリスト( denys)によって。

ので'allow''deny'からoptions.modeを変更。実装する:

+0

は依然としてホワイトリストに登録できません。 – Jagadeesh

+0

@ジャガデシュご丁寧にご説明ください。 '許可'、デニス・ := { モード – Qix

+0

VARオプション[]、 ができ:[ '** 8.1 ** 1 **']、 forceConnectionAddress:偽、 ログ:機能(クライアントIP、アクセス) { console.log(clientIp +(アクセス?アクセスされました。 ':'拒否。 ')); }、 statusCode:401、 redirectTo: ''、 メッセージ: 'Unauthorized' }; var middleware = AccessControl(オプション); app.use(AccessControl(options)); まだホワイトリストに載せられていません。 – Jagadeesh

関連する問題