私はnode.js(expressjs)に小さな画像プロキシを開発しました。このプロキシは、私のウェブサイト「www.myUrl.com」から来るすべてのイメージを減らす必要があります。これはこれまでもうまくいきます。しかし、私は不正なアクセスからプロキシを保護したいと思います。 つまり、別のURLからプロキシ経由でイメージがロードされると、エラーメッセージ "unauthorized"またはnull ...が返されます。 Iはすでにreq.headers.origin
介してヘッダを読み取るために、「原点」を試みたが、これは空であった:Nodejs express.js(プロキシ)サーバーを特定のドメインに対してのみ使用できるようにするにはどうすればよいですか?
console.log(JSON.stringify(req.headers))
はこれを示す:
{
"host":"myImageProxyUrl.com",
"user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/54.0.2840.100Safari/537.36","accept":"image/webp,image/*, */*; q=0.8",
"accept-encoding":"gzip, deflate, sdch, br",
"accept-language":"de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4",
"connection":"keep-alive",
"referer":"https://myUrl.de/myPage",
"x-forwarded-for":"ip1,ip2",
"x-forwarded-proto":"https, https",
"x-mod-original-region":"joyent-eu-ams-1.onmodulus.net",
"x-mod-region":"aws-us-east-1a.onmodulus.net"
}
プロキシがmodulus.ioでホストされています。 "www.myUrl.com"はMeteor.jsアプリです。
ドメイン "www.myUrl.com"に対してのみプロキシを使用できるようにするにはどうすればよいですか?
ありがとうございました。
更新:
画像は、単にクライアントで画像タグの上にロードされます :あなたは熱い禁止したい
私が正しくあなたの質問を理解していれば<img src='http://myImageProxyUrl.com/imageXY.png' />
プロキシにアクセスするための認証方法を提供しています。どのようなURLを呼び出しても、そのトークンを持っていなければなりません。 – AJS
このトークンはクライアントに表示され、コピーできますか? – laren0815
暗号化トークンを渡すことができるようにいくつかの暗号化技術を使用します。または、あなたのサーバー上のリクエストヘッダーを確認することができますif(request.headers.host == 'www.myUrl.com'){proceed} else {unauthorized message} – AJS