ei-ken-tan-go-test(自分のサイト)に会員登録とログイン機能をつけました。
付けたんですけどこれが結構手間取りました。
記録用に、プログラムの流れとか、どこを参考にしたかというのを記事にしました。
プログラミング言語は、perlで作ってます。

############

◇ ユーザー登録とログインの流れ
  • メールアドレス入力送信⇒既に登録されているかチェック
    あるなら⇒既に登録されてるとエラー表示して、登録フォームを表示。
    ないなら⇒メール送信
  • そのメール内に記述されているURLアドレスからワンタイムパス認証。
  • ID&パス登録認証画面⇒不備がないかサーバー側でチェック
    不備がある⇒戻ってエラー表示
    不備がない⇒会員登録成功と表示⇒「会員登録されました。」とメール送信。
     (メール内には、IDのみ表示で、パスワードは表示しない(**** と表示))
  • ログイン登録画面表示。メールとパスワード入力送信してもらう。
    ⇒半角英数以外をはじいてエラー表示。
    ⇒5〜15文字数以外の文字数をはじいてエラー表示。
  • ID&パスが正しければ、セッション文字列をサーバーに登録。
  • そして、セッション文字列をクッキーにも埋め込む。
  • サーバーのセッションとクッキーのセッションを照合して登録者であるかをすべてのページで認識(認証)する。
  • そして、登録者かゲストかをページ上部に表示する。
こんな流れで一応作りました。これで穴はないと思うんですけどね・・・なにせ初めて作ったもので、ひょっとしたら何か不具合があるかもしれません。

############
◇細かいこと
  • パスワードを昔ながらの不可逆暗号にして保存しました。
    Cpanで探したら可逆暗号も簡単にできるみたいなのですが不可逆の方がセキュリティーが高いのと、まだCpan使ったことないので、今回は見送りました。
  • 暗号化したパス同士を照合する。
  • 元のページへのリダイレクトとパスワード変更は今回作りませんでした。
############
◇参考にした記事など 一応いろいろ記事を読んで勉強しました。
ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス
 初心者がやりがちな・・
ブログが続かないわけ | ログイン処理が簡単と言い切れるか 〜 フィッシング対策も忘れずに ブログが続かないわけ | ログイン処理が簡単と言い切れるか 〜 フィッシング対策も忘れずに
 今回は、リダイレクト処理をしてませんので、ここに書いてあるフィッシング対策は不要でした。はてなでも対策してなかったというのが面白い話だと思いました。
Cookieでセッション管理機能を実現 | Perl講座 [Smart] Cookieでセッション管理機能を実現 | Perl講座 [Smart]
ログインするシステムで、「ログインを保持する」機能の安全な作り方 - Yahoo!知恵袋 ログインするシステムで、「ログインを保持する」機能の安全な作り方 - Yahoo!知恵袋
 こちらに概ねの流れが書いてあります。今回は、これプラスメールでの認証をしました。

############
◇最後に・・

初めてで調べながらだったので、4日ぐらいかかりました^^;

XoopsというCMSを使ったら、こういう会員サイトが簡単に作れるようなので、次からはそれでやりたいのですが、今回は今回で勉強になったと思います。
Xoopsは、perlじゃなくてphpなのでそっちもやろうかなっていう感じです。WordPressもphpだし初心者でも簡単にできる言語ということで、いろいろ環境が整っているということなのでしょうか。

あとcakephpやruby on rails などのフレームワークを使ったらもっと簡単にできるようなので挑戦してみたいです。

############
◇サイト内関連リンク:

PHPによるWebアプリケーションスーパーサンプル 第2版
PHPによるWebアプリケーションスーパーサンプル 第2版おすすめ平均
stars良い本です。
stars事典としての有用性も高い
starsリファレンスとして
stars第二段階に読むべき本
stars内容自体は良いが、構成に難有り
Amazonで詳しく見る

sponsered link




sponsered link

posted by やすボーイ@成功コンサルタント at 2010年06月03日 18:20 | Comment(0) | TrackBack(0) | プログラミング関係
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
最近の記事
カテゴリ
サイト内検索です^^
カスタム検索
with Ajax Amazon