php - 確認 - セッションクッキー 有効期限



ISP Configにログオンすると、私のPHPセッションとCookieが永久に壊れた (1)

私の問題を説明するために、私はいくつかのコンテキスト情報を追加しなければなりません:

私たちはWebサイトを持っています、それはセッションで動作し、私たちのサーバー管理者を除いて問題なく7年間働いています、彼はログインできず、そして私たちはなぜ今まで...

私達のサーバー管理者は休暇中なので、私は彼の仕事のいくつかをしなければなりませんでした。それは同じサーバーとドメイン上にあるISP Configでのログインを含みます。私たちのウェブサイトに戻ったとき、私たちのサーバー管理者のように、私はログインすることができませんでした。

デバッグをすると、 session_id()が更新されるたびにセッションに問題があることがわかりました。

ini_getを使ってsession.cookie_domainsession.cookie_secureが空になった。

print_r($_COOKIE)を実行した場合、 PHPSESSID設定されていなくても失効します。長い有効期限を設定しても保存されません。

setcookie("PHPSESSID", "MYSESSION", time()+365*24*60*60, '/');
setcookie("a", "b", time()+365*24*60*60, '/');

そしてprint_r($_COOKIE); 私はこれを得ます:

Array ( [a] => b )

私は.htaccessを持っていないので、私の側にルールはありません、私がクッキーを保存する方法を変えたものがISP設定にあるように思えます。

webmasters.stackexchange.comで問い合わせることもできますが、ISPの設定にログインした後に誰かが私のWebサイトにログインしたときに新しい値を設定するには、PHPの回答が必要です。

これは私が現在テストしているコードです。

<?php
session_set_cookie_params(3600,"/");
session_start();
//$_SESSION[b_id]=1;
setcookie("PHPSESSID", "GTS", time()+365*24*60*60, '/');
setcookie("a", "b", time()+365*24*60*60, '/');
echo "<div>b_id: $_SESSION[b_id]</div>";
echo "<div>session_id: ".session_id()."</div>";
echo "<div>cookie_domain: ".ini_get('session.cookie_domain')."</div>";
echo "<div>save_path: ".ini_get('session.save_path')."</div>";
echo "<div>cookie_secure: ".ini_get('session.cookie_secure')."</div>";
print_r($_COOKIE);
/*echo "<pre>";
print_r(ini_get_all());
echo "</pre>";*/
?>

これは出力です、(session_id値は毎回変わります):

b_id:
session_id: du95eljbkct54qktvcd18a7ej0
cookie_domain:
save_path: /var/lib/php/sessions
cookie_secure:
Array ( [a] => b )

これはini_get_all()関数の出力です。

[session.auto_start] => Array   (
    [global_value] => 0
    [local_value] => 0
    [access] => 2
)
[session.cache_expire] => Array (
    [global_value] => 180
    [local_value] => 180
    [access] => 7
)
[session.cache_limiter] => Array    (
    [global_value] => nocache
    [local_value] => nocache
    [access] => 7
)
[session.cookie_domain] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_httponly] => Array  (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_lifetime] => Array  (
    [global_value] => 0
    [local_value] => 3600
    [access] => 7
)
[session.cookie_path] => Array  (
    [global_value] => /
    [local_value] => /
    [access] => 7
)
[session.cookie_secure] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.entropy_file] => Array (
    [global_value] => /dev/urandom
    [local_value] => /dev/urandom
    [access] => 7
)
[session.entropy_length] => Array   (
    [global_value] => 32
    [local_value] => 32
    [access] => 7
)
[session.gc_divisor] => Array   (
    [global_value] => 1000
    [local_value] => 1000
    [access] => 7
)
[session.gc_maxlifetime] => Array   (
    [global_value] => 1440
    [local_value] => 1440
    [access] => 7
)
[session.gc_probability] => Array   (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.hash_bits_per_character] => Array  (
    [global_value] => 5
    [local_value] => 5
    [access] => 7
)
[session.hash_function] => Array    (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.lazy_write] => Array   (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.name] => Array (
    [global_value] => PHPSESSID
    [local_value] => PHPSESSID
    [access] => 7
)
[session.referer_check] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.save_handler] => Array (
    [global_value] => files
    [local_value] => files
    [access] => 7
)
[session.save_path] => Array    (
    [global_value] => /var/lib/php/sessions
    [local_value] => /var/lib/php/sessions
    [access] => 7
)
[session.serialize_handler] => Array    (
    [global_value] => php
    [local_value] => php
    [access] => 7
)
[session.upload_progress.cleanup] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.enabled] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.freq] => Array (
    [global_value] => 1%
    [local_value] => 1%
    [access] => 2
)
[session.upload_progress.min_freq] => Array (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.name] => Array (
    [global_value] => PHP_SESSION_UPLOAD_PROGRESS
    [local_value] => PHP_SESSION_UPLOAD_PROGRESS
    [access] => 2
)
[session.upload_progress.prefix] => Array   (
    [global_value] => upload_progress_
    [local_value] => upload_progress_
    [access] => 2
)
[session.use_cookies] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.use_only_cookies] => Array (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.use_strict_mode] => Array  (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.use_trans_sid] => Array    (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.cookie_domain] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_httponly] => Array  (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_lifetime] => Array  (
    [global_value] => 0
    [local_value] => 3600
    [access] => 7
)
[session.cookie_path] => Array  (
    [global_value] => /
    [local_value] => /
    [access] => 7
)
[session.cookie_secure] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)

ISPの設定にログインする前のように自分のセッションシステムをデフォルトに戻すにはどうすればいいですか?

IłyaBursovの質問に答える

シークレットモードでページを開くと、通常どおりログインでき、PHPSESSIDは変わりません。

Cookieの消去は機能しませんでした。PHPSESSIDはまだ変更されています。

phpinfoは私にいくつかの関連情報を与えました:

Set-Cookie: PHPSESSID=ositfoouhvosgcklk2k14r7t25; expires=Fri, 07-Dec-2018 19:28:01 GMT; Max-Age=3600; path=/
// This is the same time it was created, so it is creating and expiring inmediately!

Expires: Thu, 19 Nov 1981 08:52:00 GMT
// 1981!?

私は私のウェブサイトにログインできる同僚を(同じネットワーク内に)持っています。

2日後、私は問題を解決することができません、私達はこのエラーを再現するために今日新しいテストをしました、私達のWeb開発者はISP Configにログオンし、今彼は私のシステムにログインできません!!

私と私たちのサーバー管理者と同じエラー。

Windows 10ではChromeを使用しています。

ISP設定バージョン3.1.11

この男は6年前に同じ問題を抱えていたようです: PHPSESSIDはcookieに保存されていません


残念ながら、私はあなたの質問にコメントするのに十分な評判がありません。

あなたのコードで私は2つのSet-Cookieヘッダを得ます:

私のクッキーストレージにはPHPSESSID = GTSのみが保存され、生成されたセッションIDは保存されません。

setcookie("PHPSESSID", "GTS", time()+365*24*60*60, '/');を削除するかコメントアウトしてみてくださいsetcookie("PHPSESSID", "GTS", time()+365*24*60*60, '/'); そしてさらに試みる?





ispconfig