1

私は JSP で Web サイト (教育システム) を開発しています。この Web サイトには、さまざまなアクセシビリティと優先度 (教師、学生、マネージャーなど) を持つさまざまなユーザーがいます。この Web サイトにいくつかのファイル (たとえば、いくつかの PDF) を追加したいと思います。 、システムにログインした後、ユーザーのグループ(教師など)のみがそれらをダウンロードできるようにします。今私の質問は、アドレスバーにファイルアドレスを直接入力して、他の人がそれらをダウンロードできないようにするにはどうすればよいですか? つまり、ユーザーが URL を入力してこれらのファイルに直接アクセスできないようにしたいということです。

前もって感謝します

4

3 に答える 3

2

URI を入力することによって、人々がファイルをダウンロードするのを防ぐことはできません。それがウェブのしくみです。(何かを誰にもダウンロードされたくない場合は、URI を与えるような場所に置かないでください)。

ただし、あなたの問題は「ファイルをダウンロードする権限のない人がファイルをダウンロードできないようにする」ことのように思えますが、これはまったく別の問題です。

このタイプの問題を解決するには、2 つの基本的なアプローチがあります。

スクリプトを介してのみファイルを使用できるようにする

まず、ファイルを webroot の下に置かないでください。次に、次のようなスクリプトを作成します。

  1. ユーザーがダウンロードしたいファイルを確認します (例: クエリ文字列パラメーターを介して)
  2. ユーザーが認証されているかどうかを確認します
  3. ユーザーがファイルのダウンロードを許可されているかどうかを確認します
  4. ファイルの種類を識別し、適切な Content-Type ヘッダーを送信します
  5. ファイルの内容を読み取り、それも出力します

auth/authz を実行するように Web サーバーを構成する

これの詳細は、使用する Web サーバー ソフトウェアによって異なります。JSPをサポートするサーバーに、使用しているJavaログインシステムを使用してauth/authzを実行するように指示する方法があるかどうかはわかりませんが、過去にApache/mod_perlを使用して実行しました。

于 2012-12-07T11:59:03.970 に答える
1

URL で PDF を利用できるようにする必要さえあると誰が言いますか?

...のようなパスワードで保護されたページを作成servepdf.jspして、その人がログインしているかどうかを確認することができます。

servepdf.jsp?pdf=HGJDF9798734FKJHKHJFSFユーザーがログインしている場合は、 (データベースに保存されているある種の一意の ID)などのパラメーターをページに渡すことができます。このパラメーターは、Web ルート (ユーザーが通常はアクセスできない場所) の外部のディレクトリからファイルを取得します。に到達します)。

それはオプションでしょうか?

于 2012-12-07T12:00:31.437 に答える
0

最善の策は、シンボリック リンクを設定し、好みに応じて .htaccess を使用してリダイレクトすることです。

于 2012-12-07T13:43:27.853 に答える