多くの他のサーバーにあるhtml文書で参照されている、私たちのサーバーからの画像ファイルを提供することを任されました。 foo.com上HTTP要求がスクリプト化されていない場所を確実に知ることは可能ですか?
ファイル:ウィットに
<img src='http://bar.com/image.jpg'>
ユーザーがFOO.COMに行く、それが当社のサーバー、bar.comからの画像を表示します。 (実際には、どのウェブサイトがリクエストを出したかに基づいて別のイメージを送信します)。
しかし、ここでは特定の企業の訪問者がファイルを取得できるようにしたいと考えています要件ではありません)。
完璧な世界では、HTTP_REFERERを見て、それが承認済みリストにある場合はファイルを提供してください。しかし、誰もが知っているように、すべてのユーザーエージェントがHTTP_REFERERを提供しているわけではなく、とにかくスプーフィングされる可能性があります。
javascriptやphpを実行する必要はありませんが、スクリプトを作成しなくても可能ですか?
もしそうでない場合は、別のウェブサイトがファイルをダウンロードすることができないようにjavascriptだけでこれを行う方法がありますか?
もしそうでなければ、PHPを使ってどのようにアプローチしますか?
あなたはファイルをダウンロードするウェブサイトについて話していますか?ファイルは、Webサイトではなく、ブラウザでクライアントによってダウンロードされます。ページ、スクリプト、画像などの各HTTPリクエストは、ブラウズしているWebサイトではなく、ユーザーのブラウザからの個別のリクエストです。 –
サーバーからサーバーへのダウンロードも可能です。しかし、OPはちょうど "ダウンロードを認証するには良い方法は何で"と尋ねたいと思うのですか? – Evert
ええ、ユーザーエージェントはダウンロードを行い、最終的にはHTTP_REFERERで信頼できないという問題があります。私は認証されたダウンロードを望まない。私は、「ホワイトリストに載っている」サーバーのパブリックユーザーはイメージを見ることができるが、他のサーバーは見せないようにしたい。 – pbarney