私はPHP Session Handlingについていくつかの調査を行ってきましたが、session.gc_maxlifetime
値1440秒。なぜ標準値が1440で、どのように計算されるのか疑問に思っています。この計算の根拠は何ですか?
セッションを維持するのはどのくらいの意味がありますか? session.gc_maxlifetimeの最小/最大値は何ですか?値が高いほど、Web-Appがセッションハイジャックに対して脆弱になります。
本当の答えはおそらくこれに非常に近いでしょう:
PHP3日間、PHP自体はセッションをサポートしていませんでした。
しかし、最初にNetUSE AGのBoris ErdmannとKristian Koehntoppによって書かれたPHPLIBと呼ばれるオープンソースライブラリは、PHP3コードを介してセッションを提供しました。
セッションの有効期間は、秒ではなく分で定義されました。また、デフォルトのライフタイムは1440分、つまり1日でした。 PHPLIBからのコード行は次のとおりです。
var $gc_time = 1440; ## Purge all session data older than 1440 minutes.
Sascha Schumannは1998年から2000年頃にPHPLIBプロジェクトに関与しました。PHP3セッションコードに精通していたことは間違いありません。
その後、2000年にPHP4がネイティブセッションサポートとともに登場しましたが、現在ではライフタイムは秒単位で指定されています。
数分から数秒に変換することに悩まされる人はいないに違いない。人がサシャ・シューマンだった可能性が高いです。その値がZendエンジンにコード化されると、構成(php.ini
)デフォルトも。