UdemyにてBasic認証のアウトプット投稿をしたいと思います。
Basic認証とは
Web上で利用できる認証システムです。
基本的にはIDとpasswordを入力することで、ログインすることができます。
セキュリティのレベルとしては非常に低いもの
になります。
あくまでも取り急ぎの認証であることを忘れないようにしましょう。
記述の仕方
<?php
//パスワードを記録したファイルの場所
echo __FILE__;
// /Applications/MAMP/htdocs/php_test/mainte/test.php
echo '<br>';
//パスワード(暗号化)
echo(password_hash('好きなパスワードを入力', PASSWORD_BCRYPT));
?>
解説
echo __FILE__;
パスワードを記録したファイルの場所を指定します。
password_hash()
でパスワードを作成するメソッドになります。
PASSWORD_BCRYPT
アルゴリズムを使ってハッシュを作ります。
これは標準の crypt() 互換のハッシュで、識別子 "$2y$" を使った場合の結果を作ります。
その結果は、常に 60 文字の文字列になります。失敗した場合に FALSE を返します。
基本的にはこちらを使うみたいです
詳細は
https://www.php.net/manual/ja/function.password-hash
隠しファイルを作成
ファイルを2種類作成します。
ドットを先頭に付けることにより隠しファイルとして認識されます。
.htaccess
と.htpasswd
を作成します
AuthType Basic
AuthName "IDとパスワードを入力して下さい"
AuthUserFile /Applications/MAMP/htdocs/php_test/mainte/.htaccess
require valid-user
//こちらは改行は必須になります
admin:パスワードの暗号化したものをコピペ
//こちらも改行は必須になります
解説 .htaccess
AuthType Basic
これでBasic認証を宣言するという意味です。
AuthName "IDとパスワードを入力して下さい"
ログイン画面に表示させます
AuthUserFile /Applications/MAMP/htdocs/php_test/mainte/.htaccess
隠しファイルの場所をディレクトリで指定します。
require valid-user
現在ログインしているユーザーに許可をします
空白で良いので最後に改行を忘れずに!!
解説 .htpasswd
admin:
こちらはIDを決めます。もちろん自分の好きなIDでOKです。「:」コロンも忘れずに!
パスワードの暗号化したものをコピペ
こちらはtest.phpで決めたパスワードになります。
英数字の羅列になりますがlocal8080等々で呼び出したら出てきます。それをコピペします。
最後にこちらも空白で良いので最後に改行を忘れずに!!
以上となります。