HappyGeekLife 


Skip to content, navigation.


Lifehack しながらプログラミングなどを紹介するブログ。
  • プロフィール
  • ポートフォリオ
  • ニュース

« あなたの溜まったフィードを2分で解決するYahoo!Pipes
CakePHP勉強会に行ってきました。 »

CakePHP修行のまねごと。#1

この記事が気に入ったら

ソーシャルブックマークに是非ご登録を
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

ランキングに参加しています。応援クリックお願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ

CakePHP修行を読みつつ、最近僕も修行しています。
イマココ!htmlspecialcharsはhでOKらしい(CakePHP修行 #018)

で、ちょっとずつ拡張してます。
今回入れたのが、
・One time password IMproved
と名づけてみたw

というのも、元々の意味とは若干違うため。あと、完全にVim病患者なため。

One time password IMprovedのアルゴリズムは意外と簡単?

シナリオとしては、新たにSNSに入ってくる人がいた場合です。(OpenIDとかはてな認証とかMTのアレとか使いたくないとき編)
まだメール送信部分の実装はしてないので、(相手が近くにいれば手作業でもいいかと思ってるけど。)
イメージで書きますが、作業フローはこんな感じかな。

1. 管理者が仮のパスワードを発行してユーザに教えてあげる。(ここが本来のワンタイムパスワード)
2. 管理者がDBにユーザ登録のinsert文を実行。(このときはステータス”0″)
3. 新規ユーザはステータスが”0″なため、ログイン画面からちゃんと入力してもログインできない。
なので、本登録画面で、新規ユーザはもらったID,パスワードを入力して、新たに自分でパスワードを設定する。
(ここでステータスを”1″にして、ユーザのアクティベーションを行う。)
4. ログイン画面からログイン。ここで成功。

1.はまだ実装してません。最悪今のところは適当にバーっと打ってmd5でもしときゃ何かできるしw

で、3.はテーブルにステータスのフィールドを加えるのと、CakePHP修行#12のアルゴリズムにステータス比較の条件を加えるだけでできました。まぁ、当然。この辺りはちょっとセキュアな感じで自分でも気に入ってます。

ただ、ちょっと悩みが。。

実装上の悩み事

1.と2.の実装をどうしようか迷ってました。
1.はまずワンタイムパスワードの発行方法。ベーシックな感じでいくかオリジナルでいくか。
一般にオリジナルなものでは意外と単純でクラックされやすいらしいです。
かといってベーシックなものもロジックは知られているのでどうかと思います。うーむ。。
これはもうちょっと情報収集してまた次回考えます。

で、2.は運用段階で面倒だなーと思ったのです。

・ある程度の権限を持った人でないといけない&DBで直接insertしないといけない。
これだとDB弱い人がいじれないという問題が発生します。
あと、insert文いじられたら終わりorz

・また、2の処理をサボっていると2が終わる前に3が実行される可能性もあります。
これはどうやってもログインできないw
→そんなわけで、やっぱり画面がいるかー。と思ったんですが、画面バレたらユーザ作り放題やん!
→→そんなわけで、ユーザには管理者権限を持たせる必要があるわけです。
   ということはログイン後の画面にそんな画面が必要なんですね。
   実装しようと思うと1.、2.を同じプログラムで実行することがベターか。

タグ: CakePHP, php

この記事が気に入ったら

ソーシャルブックマークに是非ご登録を
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

ランキングに参加しています。応援クリックお願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ

この投稿は 2008年12月5日 金曜日 0:08:01 に php カテゴリーに公開されました。 この投稿へのコメントは RSS 2.0 フィードで購読することができます。 コメントを残すか、ご自分のサイトからトラックバックすることができます。

コメントをどうぞ

返信をキャンセル

  • Contact Me

  • RSSを購読する

    RSSを購読する
  • Google Adsenseで機械的に稼ぎ続ける最速戦略書 AdSense systematic package
    手軽に稼げる!携帯アフィリサイト自動生成ツールはこちら
  • 最近のエントリー

    • ハイパーITコンサルタントになる。
    • CSS3でWikipediaのような動的ハイライトコンテンツを作る
    • ダウンロードしておくべき便利でフリーなWebデザインE-Book 12種類
    • あなたのワークフローを自動化する強力なCSSツール
    • クリエイティブなプロジェクトに活用したい厳選フリーフォント
    • フリーで使えるオンライン画像編集Pixlr
    • kernel panicとは
    • 我が家のPCのその後。
    • Ubuntuが死んだ日にはアンインストールを。
    • うーむ、不調。。
  • カテゴリー

    • javascript (25)
    • Lifehack (24)
    • marketing (5)
    • photo (1)
    • php (47)
    • Search Engine Optimization (9)
    • tutorials (48)
    • Ubuntu (8)
    • Vimperator (1)
    • webdesign (20)
    • webiner (1)
    • webservices (14)
    • wordpress (21)
    • 雑記・その他もろもろ (82)
  • あわせて読みたい

Happy Geek Life is proudly powered by WordPress
投稿 (RSS) と コメント (RSS)

雑記 Ajax analysis API book books business c CakePHP css eclipse English Ethna Excel Firefox GAE Google Greasemonkey javascript Lifehacks linux LPO marketing mysql network news Opensource perl photoshop php programming python ruby SEO tips tool tutorials Ubuntu Vim Vimperator webdesign webservices wordpress yahoo pipes ZigBee

Copyright © 2010 Happy Geek Life. All Rights Reserved. Design: David Kohout | Our tip Efektim Real Estate