セキュリティーは激甘でもいいから、超簡単なパスワードログインの仕組みが欲しい!という事ってありませんか?
通常、パスワードでログインする仕組みを作るのであれば、外部から絶対にアクセスができないよう強固に作るのは当然です。
しかし、「簡易的でいいから」「直接URLを叩かれて入られる感じもいいから」なんて事を言われる事もあるんですよね(笑)
今回は、ifとPOSTだけを使ってPHPで超簡単なログインフォームを作ってみました。
スポンサードリンク
ログインするページを作成する
まずは、ユーザーがパスワードを打ち込んでログインボタンを押す所までを作成します。ここではindex.htmlと名前を付けました。
index.html
1 2 3 4 5 6 7 8 |
<html> <body> <form action="post.php" method="post"> <input type="password" name="pass"> <input type="submit" value="ログイン"> </form> </body> </html> |
今回はこのようにパスワードを打ち込むだけの超簡易的なフォームにしました。データベースと連携したりする訳ではなく、パスワードも共通という簡易的な仕組みなので、こんなものでいいでしょう。
フォームに入力した値をpost.phpにpostするという内容になります。
パスワードが正しいか判定するスクリプト
判定するスクリプト…という程大袈裟なものでもないのですが、index.htmlで入力されたパスワードが1234であれば「パスワード OK」1234でなければ「パスワード ERROR」と表示するスクリプトを書いてみました。
post.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<html> <body> <?php //passをポストで受け取る $pass = $_POST['pass']; //条件分岐 if($pass == '1234') print"パスワード OK<br>\n"; else print"パスワード ERROR<br>\n"; ?> </body> </html> |
まずは$_POSTを使って、フォームに打ち込まれたパスワードを受け取ります。そして、そのパスワードを$passという変数の中に代入します。
変数の意味がわからない方は別の記事にしているので、そちらをご覧ください。
PHPの変数って何?変数をWeb上で表示する方法
ここでif文(条件分岐)が出てきます。
もし$passの中身が「1234」だったら、「パスワード OK」と表示する。$passの中身が「1234以外」だったら「パスワード NG」と表示する。という意味になります。
ifとpostだけを使ってログインフォームを作ってみた まとめ
すごく簡単でしたよね…。わざわざ記事にするほどでもなかったかもしれないですが、PHPが全然わからない!という方にはわかりやすかったのではないでしょうか?
ここでは「パスワード OK」と表示するだけの形にしましたが、ifの中に他のURLへリダイレクトする処理を書いたりしたら、もっとパスワードログインフォームっぽくなります。
ただ、すごく簡易的なやり方なので、このやり方では簡単に突破されてしまいます。
パスワードでログインした後に重要なものを置きたい場合は、このような簡易的なものではなく、もっとセキュリティーが強固なものを作るようにしましょう。
PHPで簡単なクリックカウンターを作ってみる
スポンサードリンク