私はResponse.Redirectを使用してメディアファイルを提供していますが、ファイルへの直接URLやサブドメイン(ホスト)を他の人に見られたくありません。'get'を偽造して、ホストとリファラーを非表示にすることは可能ですか?
2 に答える
Server.Transferを使用して、リクエスト処理を別のページに転送します。
Transferメソッドを使用すると、すべての組み込みオブジェクトの状態情報が転送に含まれます。これは、セッションまたはアプリケーションスコープで値が割り当てられた変数またはオブジェクトが維持されることを意味します。さらに、Requestコレクションの現在のすべてのコンテンツは、転送を受信している.aspファイルで利用できます。
Server.Transferは、Response.Redirectメソッドの効率的な代替として機能します。Response.Redirectは、別のページを要求するようにブラウザに指定します。リダイレクトにより新しいページ要求が強制されるため、ブラウザはWebサーバーに対して2つの要求を行い、Webサーバーは追加の要求を処理します。IIS 5.0では、サーバー上の別のASPページに実行を転送する新しい関数Server.Transferが導入されました。これにより、余分なリクエストが回避され、システム全体のパフォーマンスが向上し、ユーザーエクスペリエンスも向上します。
ブラウザは別のリクエストを行わないため、URLはブラウザから完全に非表示になりますが、リダイレクトURLによって提供されるファイルは引き続き取得されます。
単純な理由で、必要なことは不可能です。クライアントに別のソースからファイルを直接ダウンロードさせるには、場所に関する情報を何らかの方法でクライアントに伝達する必要があります。クライアントが場所を知らない場合は、そこからダウンロードすることはできません。
難読化の方法で何をしようとしても、それがクライアントブラウザーでデコード可能であれば、Firebugで武装した人間でもデコード可能です。