質問

私は Web アプリケーションのモジュールとしてサーバー エクスプローラーのようなものを開発しましたが、実際に非常にうまく機能します。私はそれにいくつかの改良を加えていますが、どのように取り組むかよくわからない問題が 1 つあります。

エクスプローラーは主に、指定したフォルダーおよびサブフォルダーから画像を選択するために使用されます。一部の学校は施設外での写真の配布を懸念しているため、必要に応じて .htaccess (実際には Web インターフェイス経由で .htaccess を設定) で写真を保護するオプションを提供しました。

.htaccess で保護されているフォルダーにアクセスしようとすると、そのフォルダー内のすべての写真に対してパスワードの入力を求められます。注目に値するのは、教師は主要なイベントごとに 100 枚以上の写真を作成し、それを 1 つのフォルダーに詰め込む傾向があるため、ブラウザーで 100 個以上のダイアログ ボックスが開くことは実際には珍しいことではありません。

バックエンドで Perl を実行しているので、コンテンツを jQuery に配信する前に、指定されたフォルダーが保護されているかどうかを確認できると考えました。問題は、画像は親フォルダーの .htaccess によっても保護できることです。

写真を配布する前に、部外者がこれらの写真 (または、汎用性を保ち、他の用途に使用できるようにするためのファイル) にアクセスできるかどうかを確認する安全な方法はありますか?

編集 - .htaccess ファイルを追加しました
## オレファ認証の開始 ##
認証タイプ 基本
認証名 "192.168.1.120/resources/images/accesstest"
AuthUserFile /home/mike/workspace/olefa//resources/images/accesstest/.htpasswd
有効なユーザーが必要です
## オレファ認証終了 ##

役に立ちましたか?

解決

あなたが探検したい場合がありますオプションは、各ディレクトリ内の非画像プレースホルダファイルを保存し、画像の前にそれを取得しています。あなたはそれを取得するために失敗した場合は、画像のプルを行うと、このユーザに対して確保されているディレクトリを意味するものとして、これを解釈しません。そのように、あなただけのポップアップ単一パスワードダイアログを取得します、そして、彼らは有効なユーザ名とパスワードを持っている場合、ブラウザは画像回収のためにそれを覚えています。

他のヒント

欠陥のある設計やプロセスに対して、修正コードを何層にも重ねて構築しているようです。

同じディレクトリからすべての画像のユーザー名とパスワードのダイアログを取得している場合、私は最初に次のことを疑っています。

  1. htaccessの設定が何らかの形で間違っています。あなたが持っているものを見せてもらえますか?
  2. ユーザー エージェントは認証ヘッダーを送信していません。HTTP リクエストを調べて、Authorization ヘッダーが表示されていることを確認します。対応状況も見てみましょう。401ですか403ですか?

異なるパスのリソースにアクセスしようとしている場合、フォルダーごとに異なるレルムを使用していますか?資格情報は、チャレンジを提示したレルムにのみ適用されます。別のレルムにアクセスした場合は、最初からやり直す必要があります。htaccessでどのように指定しているのでしょうか?

他にも役立つ可能性のあるものは次のとおりです。

  • どのような種類の認証を使用していますか?基本、ダイジェスト、その他何か?
  • カスタム認可ハンドラーを使用していますか?
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top