現在、javaにて開発を計画中です。
作成するアプリケーションは、
ログイン画面
↓
ユーザ、パスワード入力
↓
認証(データベースに登録された内容チェック)
↓
ユーザごとに許可されたページへの遷移
といった流れを想定しています。
セッション管理を行なう上で、
Javaでは、「HttpSession」を利用して、
// セッション開始
HttpSession session = request.getSession(true);
// セッションに情報を設定
session.setAttribute("USER_ID" , xxxx);
session.setAttribute("PASSWORD" ,yyyy);
といった情報をセッションに保存し、ページ移動時にチェック
する事を考えました。
あとCookieを利用する方法も考えましたが、CookieにID、passwordを保存することは
セキュリティー上問題あると思います。
セッション管理について説明しているページには、Cookieには、セッションIDを保存し・・・とった
記述があるのをよくみます。
セキュリティー上、Cookieを利用する意味もよく分かっていません。
みなさんは、どのようにセッション管理をされているのか教えてください。
出来るだけセキュリティーを確保したいと思っています。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
本を読んだだけで実際にセッション管理をしたことはないのですが・・
No.1さんが書かれている通り、セッション管理の方法には
1) cookieを利用する
2) URLを利用する
3) hiddenフィールドを利用する
という3つの方法がよく知られているようです。
セッションを管理するための情報としては(ユーザ)IDやパスワードではなく、セッションIDと言うものを用います。セッションIDは一般的に乱数を使ってランダムに生成します。ユーザIDやパスワードのような固定な値をセットしておくと一旦漏れてしまった場合に漏れた値をいつでも好きなときに侵入者に使われてしまいます。しかし、セッションIDはセッション開始時に生成され、セッション終了時に破棄してしまうため、例え漏れてしまったとしても侵入者はいつでもそれを使えるわけではありません。(セッション中にIDを奪って使う「セッションハイジャック」の可能性はありえます)
セキュリティの問題としてセッション管理の問題もありますが、クロスサイトスクリプティングやSQLインジェクションの問題もあったりするので、その辺りも気をつけたほうがよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コネクション・セッション・ト...
-
パスワードつきホームページ ト...
-
ディスクのセッションを閉じる...
-
ASPで別ページにPOSTで送信した...
-
CD-Rに保存したデジカメ画像が...
-
会社への勤怠届出にGoogleフォ...
-
安全にログイン状態を記憶させ...
-
DVD-Rの「セッションを閉じる」...
-
javaでのアクセスカウント
-
Javascriptでページ内容全体を...
-
エクセルにカウンターを設置したい
-
ポストバック時の画面スクロー...
-
複数選択のListBoxでClickイベ...
-
Pen と Pens の違い
-
javaのメイン関数 public stati...
-
PHPでログイン機能実装
-
タブを閉じる時メッセージを表...
-
Access2003のフォーム画面にて
-
Webページ上のボタン等の位置を...
-
Ctrlキーを押しながらのダブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コネクション・セッション・ト...
-
コンピュータへの接続数が最大...
-
会社への勤怠届出にGoogleフォ...
-
DVD-Rの「セッションを閉じる」...
-
ブラウザの×(閉じる)ボタンの...
-
ブラウザを閉じずにセッション...
-
セッションIDを取得したい
-
DVDの中身が表示されません。
-
WCFのwsDualHttpBindingについて
-
ASP.NET 電卓計算
-
ルータのPPPのランプの色が変
-
CD-Rに追記したときに消え去っ...
-
自分のPCへアクセスしているコ...
-
JSPでポップアップウィンド...
-
遠隔操作されてる?
-
ショッピングカートのプログラ...
-
別ブラウザにセッションを渡す...
-
セッション変数の破棄と再設定
-
javaでのアクセスカウント
-
WebBrowserを初期化
おすすめ情報