私は基本的にディレクトリに入るときにログインするようにユーザに求めているスクリプトを持っています。ユーザーが正しく認証されると、そのサブディレクトリにリダイレクトされます。それはうまくいきますが、URLを変更して他の人のサブディレクトリを入力すると、そのURLにアクセスできます。高度なディレクトリ保護
AuthType Basic
AuthName "Restricted Area"
AuthUserFile (path_to)/.htpasswd
Require valid-user
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)/$ index.php?a=$1
ErrorDocument 404 http://localhost/(path_to)/myfiles/
そして、index.phpの中の私のPHP:現在
<?php
//$_SERVER['PHP_AUTH_USER'] = Entered username
//$_SERVER['PHP_AUTH_PW'] = Entered password
if (!isset($_SERVER['PHP_AUTH_USER'])){
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
else {
if($_GET['a']==null){
header("Location: ".strtolower($_SERVER['PHP_AUTH_USER'])."/");
echo Hello;
}
else{
if(strtolower($_SERVER['PHP_AUTH_USER'])==strtolower($_GET['a'])){
echo "welcome, ".$_SERVER['PHP_AUTH_USER'];
echo "<br/>you accessed ".$_GET['a'];
}
else {
echo "woops, you're not ".$_GET['a']."!";
}
}
}
?>
、作品
は、ここに私の.htaccessです。 URLを変更した場合、「うわー、あなたは悪いユーザー名ではない」と言われますが、実際のユーザーが実際に自分のものを見ることができないという問題があります。 Apacheの場合と同様に、ファイルが見つかった場合はindex.phpまたはディレクトリリストを表示したいが、ここでどのように行うかわからず、すべての要求をキャッチして処理する必要がある。
どうすればいいですか?私は完全に失われています:(
私は何が起こりたいのシナリオの例: Person1は自分の資格情報を使って自分のアカウントにログインします、彼らは自分のものを見ることができるmyfiles/person1に連れて行きます。