
No.1ベストアンサー
- 回答日時:
ちょっと質問から離れるかと思いますが、アドバイスだと思ってください
質問にある 「セッション」とは スーパーグローバルの $_SESSIONをファイル保存設定で利用した場合。と解釈いたします。
$_SESSIONはセキュリティ的にあまり考慮されていません。
ですから、セッションジャック攻撃をされた場合、生データがずるずると引き出されてしまい不正アクセスの温床にもなります。
$_SESSIONになんでもかんでも入れれば確かに便利なのではありますが、常に攻撃の対象とされている ことに注意してください
クッキーに保存するよりは、微妙に「まし」だという意見もありますが、私個人としては同等のレベルのものだと認識しています。
クッキーに保存されているセッションIDを意図的に変化させたり、決め打ちのセッションIDをGETにもぐりこませたりしたスパムメールを送りつけて正規会員にアクセスさせに行った場合、簡単にログイン処理をすりぬけて不正アクセスされる場合もあります。
ですから「$_SESSIONはサーバーに保存されているから安全だ」と神話はなんら意味を持ちません。
具体的な「セッション」を実装する方法として。
$_SESSIONには一方通行のチケット(データと紐付けられるランダムな文字列等)を保存させておき有効時間を短く設定しておきます。
遷移をまたぐ場合にはこのチケットを使い、従来、$_SESSIONに入れていたデータ類はセッション用のDBに突っ込んでおく、このセッション用DBにも有効期限を短めに設定しておくことで、万が一セッションジャックをされても $_SESSIONに直接データを入れておくよりはセキュリティ的に「まし」な状態になります。
有効期限を短めに設定しておくと、サイトを閲覧しているうちにセッションが切れると思います。
その場合は、なにかしらサイト上で動きのある場合は有効期限をちょっとづつ延ばしてあげる処理をはさんでおけば、サイトを閲覧している以上はセッションが切れることを回避できます。
たとえば、オンラインの銀行サイト等では、3分とか5分などのかなり短めの有効期限を設定してあり、常になにかしら操作をしていないとすぐに「ログアウトしました」などのメッセージが出るかと思います。
それと同じです。
この回答へのお礼
お礼日時:2008/01/14 19:36
お返事遅れまして申し訳ございません。
ご意見ありがとうございました。
確かにそうですね。
セッションの有効期限は短く設定しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ログイン画面をはさんだ後、自...
-
URLのパラメータをGETのままで...
-
wordの差し込み印刷で文字...
-
バッチファイルで、全てのウィ...
-
「取得先」という表現について
-
ローカルのコンピュータ名を取...
-
excel access連携 このテーブル...
-
Dosブロンプトでtabを出力したい
-
各クライアントマシンのログイ...
-
CListCtrlのcheckboxサイズ変更
-
Beckyでのメールの移動
-
Macアドレスの取得方法
-
findstrのerrorlevel
-
TCPでデータを受け取ってそれを...
-
証明書が期限切れか有効ではな...
-
ActiveReportのサブレポート機...
-
VBAで重複チェックの仕方を教え...
-
VBA コレクションに2次元配列...
-
【C#】DataGridViewの最大列数...
-
Excel VBA:特定の文字列以降(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
初歩的な質問 セッション管理に...
-
セッションについて
-
URLのパラメータをGETのままで...
-
セッション変数にパスワードを...
-
二重ログイン管理について
-
別ブラウザ間でセッションの値...
-
PHPのセッション有効期限について
-
複数のサーバで運営する場合の...
-
ログイン画面をはさんだ後、自...
-
Sessionの上限について
-
PHP cookieの値が更新されない...
-
セッション変数の命名規則
-
PHPSESSIDの表示
-
セッションのスコープ(有効範...
-
POSTで情報を他のサーバーに渡...
-
PHPでログイン人数を制限したい
-
セッションの破棄
-
ログインしたら他からログイン...
-
PHPのプロセス滞留について
-
特定のセッション変数の内容だ...
おすすめ情報