2012.04.02

【FAQ】『PHPによるWebアプリケーションスーパーサンプル 活用編第3版』

PHPによるWebアプリケーションスーパーサンプル活用編 第3版

●質問:ユーザー管理ができるサイトを作りたい
 サイト訪問者がID、パスワードを決め、それらにより次回からサイト訪問者がいつでも管理画面に入れるようなシステムを構築したいです。

 本書のP108~P135までの作業をすれば、そのようなことが実現できるでしょうか?

●回答
 仰るとおり、p.108~p135を読んでいただければ、ご希望のシステムを作成することができます。

 INSERT文でID、パスワードの作成処理、SELECT文でログイン処理を作成することができます。

 とくに本書の「3-1-13 プリペアドステートメント ~INSERT文~」で、ユーザー(相手)の手によるID、パスワードの作成、「3-1-12 プリペアドステートメント ~SELECT文~」で、ログインの処理を作成しています。
 ですので、これらを参考にしていただければと思います。

 また、「7-2 アドレス帳プログラムの作成」でもログインの処理を行っていますので、そちらも併せて参考にしてください。

 ちなみに、UPDATE文を使えば、ID、パスワードの更新が可能です。

 ただし、注意していただきたい点がいくつかあります。

・外部入力値を扱うデータベース操作になりますので、必ずプリペアドステートメントを使用してください。

・本書ではわかりやすくするために、パスワードを外部から入力された値のまま、データベーステーブルへと保存していますが、md5関数、sha1関数などの使用、もしくは組み合わせて推測されにくくしてから保存してください。

 まずは、P113のような形で、こちらでID、パスワードを作成し、相手に配布し、それらを使ってログインできるようなシステムを作成されてみてはいかがでしょうか。

 それができたら、ユーザー自身がID、パスワードを作成する処理、それらを更新する処理と徐々にステップアップされていくことが、上達の近道かと思います。