PHPでの認証について質問です。


いままで認証というのを漠然と使っています。
セッションとクッキーのどちらかを使うことが多いのですが、以下の認識でいます。
■クッキー
 ユーザーPCに対応するクッキー情報が保管される
 クッキーを使えないものが使用する可能性がある場合は使えない
■セッション
 セッションIDなどはWEBサーバー側での保管となる。
 セキュリティ的にはこちらの方が良いのではないかと勝手に認識している
実際に使用する内容や扱うデータの内容で変化すると思うので一概に言えないとは思いますが、使い分ける基準やそれぞれの長所や短所などがあれば教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/04/03 12:54:53
  • 終了:2011/04/08 09:08:06

回答(3件)

id:hanako393 No.1

hanako393回答回数1142ベストアンサー獲得回数872011/04/03 18:59:44

ポイント27pt

>セッションIDなどはWEBサーバー側での保管となる。

http://oku.edu.mie-u.ac.jp/~okumura/php/session.php

セッションIDはクッキに埋め込むことがほとんどです。

たまにクッキーが使えない場合は、URLにセッションIDを埋め込みます。

セッションID自体はクッキーで、クライアントに保存されます。

>セキュリティ的にはこちらの方が良いのではないかと勝手に認識している

その通りです。あとの認識も正しいです。

PHPならセッションを使ってないものはごくわずかです。

セッションを使う場合のデメリットがないに等しいですし、

PHPは言語レベルでサポートされてるので簡単です。

またフレームワークなどを使ってる場合は、セッションが使われますしね。

逆に、クッキーで実装するメリットと理由が思いつきません。

id:quocard

回答ありがとうございます。

こちらについては少々認識が違っている部分もありましたので、指摘いただけて助かりました。

確かにセッションでいければいいのですが、携帯だとセッションが有効に機能しないものもありましたので色々と検討してました。

こちらの内容を元に勉強がてら色々と調べてみたいと思います。

2011/04/04 14:45:50
id:la-la-land No.2

la-la-land回答回数58ベストアンサー獲得回数62011/04/04 15:46:16

ポイント27pt

どっちかというと携帯だとクッキーが有効に機能しないケースがある、です。

クッキーが使えない → セッションIDが保存できない → セッションが有効にならない

ふつうは携帯でもセッションを使います。クッキーが使えない場合があるのでセッションIDをURL末尾で持ちまわしてセッションを使う感じです。


携帯のセッションについてはセッションハイジャック問題などけっこう面倒なセキュリティの問題があるので、作るのはけっこう大変です

id:quocard

回答ありがとうございます。

URLに付けるのが有効そうですね。

たまにhiddenでキーを渡したりしてたりもしますが、URLとhiddenどちらがいいとかあるものなのでしょうか。

2011/04/05 09:14:12
id:la-la-land No.3

la-la-land回答回数58ベストアンサー獲得回数62011/04/05 23:24:13

ポイント26pt

どっちでも良いと思いますが、hiddenだと単純リンクでの画面遷移ができないですね。

javascriptを使えばリンクでページ遷移も可能ですが、携帯だとjavascriptが使えないケースもあります。

id:quocard

回答ありがとうございます。

たしかに全てbuttonとするとformも含める必要があるのでページ容量も増えますね。

状況によって使い分けていければと思います。

2011/04/06 09:03:16

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません