残念なことに、私は遭遇してセッションを発行しました。残念ながら、私が見つけたソリューションがセキュリティ上の問題またはリスクになるかどうかはわかりません。PHPセッションの明確化
私は、アプリケーションにログインしているローカルホストのPHPプロジェクトに取り掛かりました。私は5,10、15分も離れて戻ってきて、ログインしているアプリケーションを進めることができました。オンラインでテストしてください。私がログインした場合、2〜3分で更新して、再度ログインする必要があります。
ここでは約50件の記事すべてを試しましたが結果はありませんでした。だから私は自分のlocalhostと私のホスト上のphpinfoのすべての行を比較することにしました。私は実際に詳細を見た。
今朝コーヒーに少しの髪が残った。問題を見つけた。
session.cache_expire 180
は今、これは関係なく、セッションの有効期間の3分で終了します。 もローカルホスト上で、
はsession.gc_divisor 1000年
はsession.gc_divisorは今、私はsessions.phpと呼ばれるファイルを持っているその100、
ローカルホスト上ではなく、私のWebホスト上で1000それは私のsession_startです。私が見つけた解決策はここにありました。 http://php.net/manual/en/function.session-cache-expire.php
私はセッションファイルを次のように変更しました。
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
session_cache_expire(30);
$cache_expire = session_cache_expire();
session_start();
ob_start();
結果は、私が3分以上のオープン私のブラウザを離れるとき、それはもはや..再度ログインする私を必要としますが、これは適切な解決策ではありませんか?
@sgifアプリにログインして3分間そのページに座ってから、ログインする必要があるページに移動してから、もう一度ログインするように求められます。上記の次のコードを使用しない限り。 – Case
session.cache_expireはセッションの寿命とは関係ありませんが、3分後にログインする必要があります。 – Case
あなたは実際にページのキャッシュされたバージョンを表示しているという点で、誤って別の問題を発見したことがあります。私はチェックし、キャッシュされたページを表示していないことを確認します。 3分間隔で内容を変更し、ページを再読み込みしてテストします。コンテンツが更新されない場合は、実際のページではなくキャッシュを表示していることがわかります。 –