1

プロジェクトで画像のアップロード機能を実行しています。ここでは、ファイルをパブリック フォルダー (public/img/myfiles/) に保存しています。管理者ユーザーがログインしていない場合、ファイルへのアクセスを制限したい。 (ie)

URLを次のように入力すると

https://domain/img/myfiles/filename.jpg

ログインページにリダイレクトする必要があります

https://domain/login

どうやってするか?特定の画像を関連するユーザーに制限したくありません。ユーザーは管理者であるため、画像フォルダーへのフルアクセスを許可したいと思います。

4

1 に答える 1

2

.htaccess管理者でない場合は単にログイン ページにリダイレクトし、それ以外の場合は要求された画像を返す PHP スクリプトを介して画像のすべての要求をルーティングするファイルに行を追加してみてください。これがどのように見えるかのアイデアです。

.htaccessファイル:

RewriteRule ^img/myfiles/(\w+)\.([a-z]{3,4})$ image.php?name=$1&type=$2 [L]

image.phpファイル:

if(Auth::user()->role == 'admin') {
    header("Content-type: image/" + $_SESSION['type']);
    readfile("/path/to/image/" + $_SESSION['name'] + '.' + $_SESSION['type']);
else {
    header("Location: http://mysite.com/login");
}
于 2013-03-18T11:15:27.510 に答える