質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3285閲覧

session fingerprint とはどんな概念なのでしょうか?「セッションID」を不正取得された場合のセキュリティ対策?

re97

総合スコア208

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/04/13 14:52

編集2016/04/14 12:04

質問1.session fingerprint とはどんな概念なのでしょうか?
・「セッションID」を不正取得された場合のセキュリティ対策?
・セッションIDとユーザエージェントを結びつければ良い?


質問2.参考コードが、session_regenerate_id 実行間隔を15分と設定しているのですが、どういう理由が考えられるでしょうか?
・間隔を空けるのは、ページアクセスを頻繁に行うとセッションが切れるかもしれないのでそれを防ぐため?
・仮に上記理由だとしても1分ぐらいの実行間隔で良い気もするのですが…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

【回答1】

  • セッションIDとIPアドレスを結びつけると,セッションIDが盗まれたとしてもセッションハイジャックが非常に困難になり,セキュリティが向上する.**但し,これはなりすましを防ぐだけであって,盗聴を防げるわけではない.**また,IPアドレス全部分を照合することはユーザに不便を強いるので,ユースケースに合わせてネットワーク部の照合だけでも十分かどうかをまず検討すべき.
  • UserAgentの照合は,無いよりはあるほうがマシというぐらい.

(UserAgentはIPアドレスと異なり偽装が容易にでき,Webブラウザとして利用されているUserAgentの数は限られているため)

個人的には…盗聴となりすましを両方防ぐためにTLS暗号化を行っているのであれば,この時点で(XSSなどの脆弱性が無ければ)セッションIDを盗み出すこと自体がまず困難なので,必須というわけでもないかと思いました.

【回答2】

・間隔を空けるのは、ページアクセスを頻繁に行うとセッションが切れるかもしれないのでそれを防ぐため?

そういう都合もありますし,サーバに対する負荷の考慮もあります.

・仮に上記理由だとしても1分ぐらいの実行間隔で良い気もするのですが…

大規模サイトだと負荷がつらいかもしれません.規模次第といったところでしょう.

またこちらの対応も,TLS暗号化しているのであれば必須ではないというところです.以下に該当する場合は定期的にリフレッシュしたほうがいいとは思いますが.

  • PHPSESSIDの有効期限が極端に長い
  • PHPSESSIDの有効期限を再アクセスで延長している

投稿2016/04/13 21:06

編集2016/04/14 04:55
mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/14 12:12

・回答ありがとうございました >セッションIDとIPアドレスを結びつけると,セッションIDが盗まれたとしてもセッションハイジャックが非常に困難になり,セキュリティが向上する ・参考になりました >IPアドレス全部分を照合することはユーザに不便を強いるので,ユースケースに合わせてネットワーク部の照合だけでも十分かどうかをまず検討すべき ・企業からのアクセスも考慮した方が良いと言うことでしょうか? ・アドバイスありがとうございました >セッションIDを盗み出すこと自体がまず困難なので,必須というわけでもないかと思いました ・参考になりました >サーバに対する負荷の考慮もあります ・なるほど ・そういうことまで全く考えが及びませんでした ・参考になりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問