2016-05-27 6 views
0

私のMEANスタックアプリケーションは、さまざまなソースからの画像を表示します。アプリがhttpsを介して配信されると、画像の配信にシンプルなプロキシサーバーが作成され、「コンテンツ混在」の警告が表示されなくなりました。簡単な画像プロキシサービスを保護する

ルートを取得する画像のエンコードされたURLを受け入れ:

router.get('/images/:url',function(req, res) { 
    var url = decodeURIComponent(req.params.url); 
    request.get(url).pipe(res); 
    }); 

しかし、私はこれが悪用されるにしたくありません。私は自分のアプリケーションがこの機能を利用できるようにしたいだけです。このセキュリティ層を追加するにはどうすればよいですか?

+0

参照してください? –

+0

すべてのユーザーがアクセスできます – tommyd456

答えて

0

HTTPアクセス制御(CORS)ヘッダーを見ることができます。

リソースは、最初のリソース自体がサービスするドメインとは異なるドメインからリソースを要求すると、クロスオリジンHTTPリクエストを行います。たとえば、http://domain-a.comから配信されるHTMLページでは、src要求がhttp://domain-b.com/image.jpgになります。今日のWeb上の多くのページでは、CSSスタイルシート、画像、スクリプトなどのリソースを別々のドメインから読み込んでいます。

アクセス制御 - 許可原点ヘッダ:

Access-Control-Allow-Origin: <origin> | * 

原点パラメータを指定:

A返されるリソースは、次の構文で、一つのアクセス制御用許可由来のヘッダを有していてもよいですリソースにアクセスできるURIブラウザはこれを強制する必要があります。資格情報を持たない要求の場合、サーバーはワイルドカードとして「*」を指定することができます。これにより、任意の発信元がリソースにアクセスできるようになります。

例えば、http://mozilla.comがリソースにアクセスできるようにするために、次のように指定できます。詳細については

Access-Control-Allow-Origin: http://mozilla.com 

が、それはすべてのために開いているか、登録ユーザーだけがこれをアクセスすることができmozilla docs

+0

これはサーバーベースのリクエストを停止しません – tommyd456

関連する問題