とりわけ、ユーザーが以前にアップロードした PDF や Word ドキュメントなどのファイルをダウンロードできるようにする ac# asp.net Web アプリケーションがあります。asp.net アプリは IIS6 サーバー経由で提供され、ファイル リソースは別のサーバー上に存在します。サーバ。
ユーザーがファイルを要求すると (つまり、Web フォームのボタンをクリックすると)、ContentType を適切に変更して、ファイルをブラウザーにストリーミングします。
これは、ユーザーが URL をハッキングする可能性があるため、ファイル リソースを提供するために IIS 仮想フォルダー ルートをたどらないようにするための良い方法のように思われました。つまり、https://mydomain/myresource/clientid/myreport.docxのような URL を使用すると、知識の豊富なユーザーは別の cvlientid とドキュメント名を推測することに成功する可能性があります。
Word 文書をブラウザーにストリーミングする際の問題は、ブラウザーが Word でそれをスローすると、Word がそれを新しい文書として扱うことです。つまり、元の文書のプロパティと余白情報が失われます。
ユーザーはメタデータ情報を Word ドキュメント プロパティに保存するため、このソリューションは受け入れられません。
IIS 仮想フォルダを介してサービスを提供すると、この問題は解決しますが、URL セキュリティの問題が発生します。
だから私の質問は...
IIS 仮想フォルダーで URL の暗号化/復号化 (または難読化) を使用する方法を知っている人はいますか?
または、同様の仕事をしているオープンソース プロジェクトを知っている人はいますか。
または、暗号化された URL を使用して仮想フォルダーの独自の実装を作成する方法について、誰か提案がありますか?
よろしくお願いします。
ps。私たちのウェブアプリはhttps経由で配信されます