LoginSignup
0
1

More than 3 years have passed since last update.

[PHP] Basic認証

Last updated at Posted at 2020-11-06

UdemyにてBasic認証のアウトプット投稿をしたいと思います。

Basic認証とは

Web上で利用できる認証システムです。
基本的にはIDとpasswordを入力することで、ログインすることができます。
セキュリティのレベルとしては非常に低いものになります。
あくまでも取り急ぎの認証であることを忘れないようにしましょう。

記述の仕方

test.php
<?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を作成します

.htaccess
AuthType Basic
AuthName "IDとパスワードを入力して下さい"
AuthUserFile /Applications/MAMP/htdocs/php_test/mainte/.htaccess
require valid-user
//こちらは改行は必須になります
.htpasswd
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等々で呼び出したら出てきます。それをコピペします。

最後にこちらも空白で良いので最後に改行を忘れずに!!

以上となります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1