
私はウェブサイト全体(現時点では開発用)をパスワードで保護する必要があります。そこで、.htaccess
とファイルを作成しました.htpassword
。.htaccess
AuthUserFile /my/absolute/path/.htpassword
AuthName "Protected"
AuthType Basic
Require valid-user
私のディレクトリツリーは次のようになります
/var/www
|--- file.php
|--- .htaccess
|--- dir
| |--- text.html
|--- file2.php
file.php
またはfile2.php
( に直接含まれるファイル)にアクセスしようとすると/var/www
、Web ページはパスワードで保護されます。ただし、サブディレクトリ ( ) 内のファイルには認証なしでアクセスできます。には/dir/text.html
がないことは間違いありません( を使用します)。.htaccess
/var/www/dir
ls -A
ウェブ上で、.htaccess
ディレクトリとすべてのサブフォルダに効果があるはずだと見たことがありますが、それがまさに私が望んでいることです。
私の場合、サブディレクトリ内のファイルに効果がないのはなぜかご存知ですか? もしそうなら、どうすれば機能するようになりますか?
答え1
静的 IP をお持ちの場合は、仮想ホスト設定で 1 つの IP からのみ Web サイトへのアクセスを許可するだけです。
<Directory /> Order Deny,Allow Deny from all Allow from 127.0.0.1 #your IP </Directory>
答え2
セッションログインとヘッダー上の禁止されたRESTアクセスのためのカスタムコードをPHPで記述できます
session_start();
if(isset($_SESSION['user']))
{echo "do the stuff";}
else
{header("location:login");}