PHPの認証に関する質問です。

オンラインでサンプルコードをいろいろ見ていますが、『認証中であるか?という処理は、$_SESSION["USER"]にユーザーIDを格納して、if(!isset($_SESSION["USERID"])でログイン中か判定する・・・。』と多くのサンプルが書かれています。
例えば
http://replication.hatenablog.com/entry/2014/06/30/005815

セッションにIDなどを保管してセキュリティー上問題ないのですか?
また、セッションに情報を保持せず、認証中である・・・という判定はできないのでしょうか?
PHP7.0で書いています。
よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/12/22 17:21:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

ポイント100pt

基本的に問題ありません。というか問題が無いようにしますし、すべきです。

phpでセッションと言うと$_SESSIONとかそのへんの機構を言いますが、phpに限らないITとしてのセッションと言うと、一連の流れといいますか、初めと終わりがある様なものを継げる存在と言いますか、それ全体といいますか。
http://e-words.jp/w/%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3.html
なので手段はどうあれ「認証中である」という状態自体がセッションだったりします。

phpのセッションも認証に限らずですが、そういった状態の管理をするための機構なので、認証状態を保管すること自体に何ら問題はありません。
ただし、それはそもそもセッションが強固であるという前提の上で、です。その辺、設定による所もあるようですので、その確認は重要でしょう。
http://www.phppro.jp/school/security/vol3/2
http://php.net/manual/ja/session.security.php
#家電に限らずマニュアルには色々注意書きがあるものです。
#ときに便利な使い方もあったりしますし、安全のためにも一読をおすすめします。

他1件のコメントを見る
id:wsapp

新たな疑問ができましたので、新しく質問をつくりました。
お手すきな時にでも目を通していただければ幸いです。
http://q.hatena.ne.jp/1450772519

2015/12/22 17:29:57
id:wsapp

お目をお通しいただければ・・・と記載しましたが、TransFreeBSDさま同様、親切な方にお答えいただきまして解決いたしました。
お手を煩わせる前に報告いたします。
ありがとうございました。

2015/12/22 21:02:50

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

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

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

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

回答リクエストを送信したユーザーはいません