
No.1ベストアンサー
- 回答日時:
ちょっと質問から離れるかと思いますが、アドバイスだと思ってください
質問にある 「セッション」とは スーパーグローバルの $_SESSIONをファイル保存設定で利用した場合。と解釈いたします。
$_SESSIONはセキュリティ的にあまり考慮されていません。
ですから、セッションジャック攻撃をされた場合、生データがずるずると引き出されてしまい不正アクセスの温床にもなります。
$_SESSIONになんでもかんでも入れれば確かに便利なのではありますが、常に攻撃の対象とされている ことに注意してください
クッキーに保存するよりは、微妙に「まし」だという意見もありますが、私個人としては同等のレベルのものだと認識しています。
クッキーに保存されているセッションIDを意図的に変化させたり、決め打ちのセッションIDをGETにもぐりこませたりしたスパムメールを送りつけて正規会員にアクセスさせに行った場合、簡単にログイン処理をすりぬけて不正アクセスされる場合もあります。
ですから「$_SESSIONはサーバーに保存されているから安全だ」と神話はなんら意味を持ちません。
具体的な「セッション」を実装する方法として。
$_SESSIONには一方通行のチケット(データと紐付けられるランダムな文字列等)を保存させておき有効時間を短く設定しておきます。
遷移をまたぐ場合にはこのチケットを使い、従来、$_SESSIONに入れていたデータ類はセッション用のDBに突っ込んでおく、このセッション用DBにも有効期限を短めに設定しておくことで、万が一セッションジャックをされても $_SESSIONに直接データを入れておくよりはセキュリティ的に「まし」な状態になります。
有効期限を短めに設定しておくと、サイトを閲覧しているうちにセッションが切れると思います。
その場合は、なにかしらサイト上で動きのある場合は有効期限をちょっとづつ延ばしてあげる処理をはさんでおけば、サイトを閲覧している以上はセッションが切れることを回避できます。
たとえば、オンラインの銀行サイト等では、3分とか5分などのかなり短めの有効期限を設定してあり、常になにかしら操作をしていないとすぐに「ログアウトしました」などのメッセージが出るかと思います。
それと同じです。
この回答へのお礼
お礼日時:2008/01/14 19:36
お返事遅れまして申し訳ございません。
ご意見ありがとうございました。
確かにそうですね。
セッションの有効期限は短く設定しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- PHP バージョン情報の取得方法について 1 2023/03/15 11:56
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ログイン画面をはさんだ後、自...
-
会員制サイトを作りたい。
-
PHPSESSIDの表示
-
複数ページでセッションを使わ...
-
セッション ID とセッション名...
-
共用サーバでのセッション管理...
-
PHP4からPHP5へ移行した際、セ...
-
セッション変数の命名規則
-
PHPのセッション有効期限について
-
URLのパラメータをGETのままで...
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
VBS「開いているページ」のURL...
-
shシェルスクリプト 空白行の...
-
「ページネーション」で検索キ...
-
DTOとEntityの差は何ですか。
-
php history.back()の戻るボタ...
-
wordの差し込み印刷で文字...
-
findstrのerrorlevel
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPSESSIDの表示
-
PHPのセッション有効期限について
-
Sessionの上限について
-
ログイン画面をはさんだ後、自...
-
ログインしたら他からログイン...
-
セッションについて
-
セッション変数にパスワードを...
-
sessioncookieをではなくcookie...
-
クッキーを使わないセッション...
-
セッションのスコープ(有効範...
-
二重ログイン管理について
-
完全なセッション破棄をしたい
-
PHP cookieの値が更新されない...
-
ブラウザを閉じた後もセッショ...
-
PHPでログイン人数を制限したい
-
swfファイルでセッション情報を...
-
セッションを用いたデータの変...
-
セッション変数と配列
-
PHPSESSIDについて
おすすめ情報