2011-07-07 13 views
0

Fiddlerをrules fileを使用してポート8888でreverse proxy(80に転送する)として設定しました。今、セキュリティ対策としてリバースプロキシにアクセスできるIP範囲を制限したいと考えています。逆プロキシモードでIP範囲を制限するようにFiddlerをプログラムする方法はありますか?

Fiddlerプログラミング以外のファイアウォールや何も設定することなく、Fiddlerルールファイルのみを使用してこれを行うことは可能ですか?

答えて

2

ルール>ルールをカスタマイズする。 OnBeforeRequestまでスクロールします。そこ

、プロパティoSession["X-CLIENTIP"]を使用して、クライアントのIPアドレスを取得することができ、あなたが値を満足していない場合は、質問の著者によってoSession.oRequest.FailSession(403, "Proxy access denied", "You are not permitted to use this site.");


アップデートような何かを

使用されるサンプルスクリプト:

// restrict usage to IPs and ranges 
if (oSession["X-CLIENTIP"].indexOf(/*My Business, modify to your IP range>*/"0.0.0.") != 0 
    && 
    oSession["X-CLIENTIP"].indexOf(/*private*/"192.168.") != 0 
    && 
    oSession["X-CLIENTIP"].indexOf(/*localhost*/"127.0.0.") != 0 
    && 
    oSession["X-CLIENTIP"].indexOf(/*private*/"10.") != 0 
    ) { 

    oSession.oRequest.FailSession(403, "Proxy access denied", "Your IP# is not permitted to use this Fiddler debugger."); 

    return; 
} 

IPv6は、物事にキーレンチX-クライアントIPが 192.168.100.139または::ffff:192.168.100.139この時点で、プログラマはIP番号の化身のいずれかと一致し、このような正規表現のテスト使用を検討してくださいすることができますので:素晴らしい

/^(?:\:\:ffff\:)?192\.168\..+/.test(oSession["X-CLIENTIP"]) 
+0

を、それは魔法のように動作します。私はあなたの答えに私の実際のスクリプトを追加しました。これは他の人を助けるかもしれません。 –

+0

X-CLIENTIPがFiddlerに報告していることを確認するには、この文をルールファイルのOnBeforeRequest関数の最初のものに入れてください。oSession.oRequest.FailSession(403、 "Proxy access denied"、oSession ["X- CLIENTIP "]);'それが常に失敗して値を表示するような条件がない場合は、Webブラウザでプロキシを起動します。完了したら削除またはコメントアウトしてください。フィドラーでこの値を見る方法が違うかもしれませんが、見つけられません。 –

+1

セッションを右クリックして[プロパティ]を選択すると、X-ClientIPフラグとその他すべてのフラグが表示されます。 (または1つを選択し、Alt + Enterを押します)。 – EricLaw

関連する問題