ホームページ >バックエンド開発 >PHPの問題 >PHPでsetcookie()を使用してCookieを無期限に設定する方法

PHPでsetcookie()を使用してCookieを無期限に設定する方法

青灯夜游
青灯夜游オリジナル
2021-09-30 16:39:453605ブラウズ

PHP では、setcookie() 関数の 3 番目のパラメーターの値を常に現在のシステム時間より大きく設定するだけです。構文は、「setcookie("cookie_name", "cookie_value", time() 99*365* 24*3600);"。

PHPでsetcookie()を使用してCookieを無期限に設定する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

PHP で Cookie を設定する場合、有効期間は指定されていません。ライフサイクルはブラウザの期間であり、保存されていないとも言えます。ブラウザを閉じて再度開くと消えます。

Cookie の有効期間を長く設定すると (常に現在のシステム時間よりも長くなります)、Cookie の有効期限が切れないようにすることができます。 setcookie() 関数の 3 番目のパラメーター $expire は、Cookie の有効期間を設定するために使用されます。たとえば、次のコード:

setcookie("cookie_name", "cookie_value", time() + 99 * 365 * 24 * 3600);

説明:

setcookie() 関数の構文形式は次のとおりです:

setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])

パラメータ

  • $name: Cookie の名前を設定します;
  • $value: Cookie の値を設定するために使用されるオプションのパラメーター。 $value の値は、$_COOKIE['$name'] の形式で取得できます;
  • $expire: Cookie の有効期限を設定するために使用されるオプションのパラメータ。この時間は次の形式です。 Unix タイムスタンプ。ゼロに設定するか省略した場合、Cookie はセッションの終了時 (つまり、ブラウザが閉じたとき) に期限切れになります;
  • $path: Cookie の有効なサーバー パスを設定するために使用されるオプションのパラメータ。 「/」に設定すると、Cookie はドメイン名 $domain 全体に対して有効になります。 「/foo/」に設定すると、Cookie は $domain 内の /foo/ ディレクトリとそのサブディレクトリ (/foo/bar/ など) に対してのみ有効になります。デフォルト値は、Cookie を設定するときのディレクトリです。
  • $domain: Cookie の有効なドメイン名/サブドメイン名を設定するために使用されるオプションのパラメータです。これをサブドメイン (「c.biancheng.net」など) に設定すると、このサブドメインとその第 3 レベルのドメイン (php.c.biancheng.net など) に対して Cookie が有効になります。 Cookie をドメイン名全体 (そのすべてのサブドメインを含む) に対して有効にするには、Cookie をドメイン名 (たとえば、「biancheng.net」) に設定するだけです。
  • $secure: オプションのパラメーター。設定に使用されます。この Cookie を安全な HTTPS 接続経由でのみクライアントに渡すかどうか。 TRUE に設定すると、Cookie は安全な接続が存在する場合にのみ設定されます。
  • $httponly: オプションのパラメータ、TRUE に設定すると、Cookie は HTTP プロトコル経由でのみアクセスできます。スクリプト言語アクセスなどの JavaScript を介してアクセスすることはできません。このパラメータを設定すると、XSS 攻撃のリスクを効果的に軽減できます。

time()Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの現在時刻を秒数で返します。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPでsetcookie()を使用してCookieを無期限に設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。