0

NginxとPHPを使用して、ユーザ名/パスワードチェックの背後にあるフォルダの内容を保護したい。PHPでベーシック認証をチェックしてフォルダアクセスを制限する

フロントエンドでは、あらゆる種類のフォームを実装する必要はなく、HTTP Basic Authを使用します。

バックエンドでは、静的なhtpasswdファイル(データベースやAPIなど)ではなく、ビジネスロジックでこのチェックを行う必要があります。言い換えれば

、流れは次のようになります。保護

  1. ユーザーのヒットは、ファイルのURL
  2. HTTP基本認証ダイアログが表示され
  3. PHPスクリプトは、有効な場合は資格証明書
  4. を検証するために実行しますファイルのダウンロードが開始されます。そうでなければ、403が返される。

これを達成する最も簡単な方法は何ですか?

(。。明確にするために、私は主にnginxのの構成についてのアドバイスをする資格情報を取得し、ファイルを返す超えたPHPロジックはここに私の質問はありません)

編集:私は必要とするか、または作成する必要はありませんセッション。私はユーザーが毎回自分の資格情報を各ファイルに入力するのを気にしません。

答えて

0

Nginxを使用している場合は、アクセスを制限してパスワードを設定する場所に2つのdirectivesを追加するだけです.Nginxは残りを行います。 Nginxの実装では、パスワードのために静的ファイルを使用しています。より多くのあなたが記述のような解決のために

は、Apache用のPHP documentation

0

の例を見て、ディレクトリまたは場所のディレクティブは、アクセスを制限するために使用することができます:https://wiki.apache.org/httpd/PasswordBasicAuth

<Directory "/var/www/html/protected"> 
    AuthType Basic 
    AuthName "Authentication Required" 
    AuthUserFile "/etc/htpasswd/.htpasswd" 
    Require valid-user 

    Order allow,deny 
    Allow from all 
</Directory> 
関連する問題