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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPのセッションについて
-
Sessionの上限について
-
セッションのスコープ(有効範...
-
クッキーを使わないセッション...
-
SESSION情報は、ブラウザを起動...
-
セッションについて
-
ログイン画面をはさんだ後、自...
-
$_SESSIONと、POSTやGETの違い
-
「戻る」ボタンで値の保持
-
ログアウトする際にセッション...
-
PHPのセッション有効期限について
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
開始と終了を指定して、その間...
-
「取得先」という表現について
-
PHPの名前空間インポートについて
-
shシェルスクリプト 空白行の...
-
findstrのerrorlevel
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
セッション ID とセッション名...
-
PHP cookieの値が更新されない...
-
セッションのスコープ(有効範...
-
session_start()で生成されるセ...
-
複数のサーバで運営する場合の...
-
初歩的な質問 セッション管理に...
-
!issetの冒頭の!ビックリマー...
-
ブラウザを閉じた後もセッショ...
-
二重ログイン管理について
-
ログイン画面をはさんだ後、自...
-
別ブラウザ間でセッションの値...
-
HTTPヘッダー内での順番などに...
-
Sessionの上限について
-
セッションでのユーザ特定
-
session_cache_limiterの使い方
-
クッキーを使わないセッション...
-
POSTで情報を他のサーバーに渡...
-
完全なセッション破棄をしたい
-
$_SESSIONと、POSTやGETの違い
おすすめ情報