0

重複の可能性:
Apache がユーザー ディレクトリの内容を一覧表示しないようにする方法

私はブログに取り組んでおり、アップロードした画像のファイルパスを正常に SQL データベースに配置しました。画像自体は img フォルダー内に保存されます。ユーザーが主キーを使用して自分のブログページで自分の画像を取得できるようにしたいのですが、それは機能します。

一方、URL に /img を付けて私の Web サイトにアクセスすると、すべてのユーザーが他のすべてのユーザーの写真を公開して表示できます。

ログインしている通常のユーザーは、SQL ファイルパス プロセスを介して自分のブログ ページで自分の写真を取得できますが、誰かが私の /img フォルダーをいじったり、公開したりするのを防ぐ方法はありますか?

4

2 に答える 2

1

ファイルを public フォルダー (つまりルート) の下に置き、ID に応じて php ラッパーを使用してファイルを呼び出すことができます。のようなもの:<img src="img/img.php?id=ac34" />ユーザーがそれを表示する権利を持っている場合、img.php で画像ヘッダーを使用して画像を出力します。データベース テーブルには、ac34 トークンに対応する実際の画像パスがあり、これが img.php によって読み込まれ、リクエスタに画像として出力されます。このようにして、サーバー ファイルの実際のパスは非表示のままになり、すべてのイメージ ロードのアクセス権を確認できます。

于 2012-08-14T19:07:19.550 に答える
0

.htaccessファイルを作成して追加します。

Options -Indexes

すべてのフォルダーからのすべてのインデックス作成がブロックされます。

于 2012-08-14T18:35:28.807 に答える