現在の所、PEAR::Net_UserAgent_Mobileを使って端末IDを使って認証をしようと考えていますが、いわゆる簡単ログインだけでなく、普通のユーザーIDとパスワードを使ったログインもつくりたいと思っています。
出来れば、OpenPNEのようなCMSを使うという選択肢は使いたくないのです(勉強のために)が、参考になるURLや書籍など、何かご存知でしたらご教授ください。
au携帯はCookieをサポートしますが、ソフトバンクは機種によってまちまち、ドコモはサポートしていません。
「携帯端末用Web制作バイブル第2版」(八木澤知彦/翔泳社/2006年06月/2,940円)が参考になります。
>URLにハッシュされたid
似たような事をします。
不安があるのもわかりますが王道でもあります。
「セッション管理」といいますので
「php セッション管理」で検索してみてください。
回答ありがとうございます。
セッション管理で同じようなことが出来るのですね。携帯業界では、このセッションを使うのが主流なんでしょうか?
Cookieが使えない環境では普通URLにセッションIDを入れる形でセッション管理を実現します。
リファラなどでセッションIDが漏れる危険なども高いですが、他に方法が無いためトレードオフですね。
但し、
・セッションIDを埋められるのは携帯のIPだけにするとか、
・IPから分かる携帯キャリア種(IPだところころ変わるので)やUser-Agentや携帯固有のヘッダ情報等をログイン時のセッションに覚えておき
・リクエスト毎に常に変化がないことを確認してセッションハイジャックを検出出来るようにする
・かんたんログイン情報も使えるなら使う
等といった多少の工夫を併用してセキュリティ的な不安要素を削っていくのがベストです。
回答ありがとうございます。
つまり、IPで携帯以外のものをはじき、セッションハイジャックをある程度手動で検知するための仕組みをログインチェック関数に加えれば良い感じですかね?
session_regenerate_idという関数を使うという方法を見たのですが、こちらはどうなのでしょうか?質問ばかりですいません。
Basic認証は携帯でも有効ですので、
セッションと併用すれば少しはセキュリティがあがります。
あと、携帯には個別識別番号がありますので、認証情報と
結びつけると、その携帯でないとログインできないシステムも
構築可能です。携帯を替え買えた場合の考察は必要ですが・・。
回答ありがとうございます。
そうですか。。「携帯端末用Web制作バイブル第2版」は見てみます。
Cookieをサポートしていないとしたら、mixiやモバゲーなどはどのように認証をしているのでしょうか?URLにハッシュされたidを入れることも考えましたが、それだとセキュリティ的に不安がある気がするのですが。。