ホームページ バックエンド開発 PHPの問題 Cookie PHP のライフサイクルを設定する方法

Cookie PHP のライフサイクルを設定する方法

Mar 29, 2023 am 10:11 AM

Web サイト開発では、Cookie はデータ ストレージの形式として非常によく使用されます。 Cookie は、ユーザーのコンピュータに保存できる名前、値、その他のオプションの属性で構成されるテキスト ファイルです。その中で、最も重要な属性の 1 つは、Cookie のライフ サイクル (有効期限)、つまり Cookie がクライアント コンピューターに保存される期間を指定することです。 PHP では、setcookie() 関数を使用して、Cookie の名前、値、有効期限、その他の属性の設定など、Cookie を設定できます。以下では、この記事では、PHP で Cookie のライフサイクルを設定する方法を詳しく紹介します。

1. setcookie() 関数

setcookie() 関数は、PHP で Cookie を設定するために使用される関数です。その構文は次のとおりです:

setcookie(name,value) 、expire,path,domain,secure,httponly);

これらのうち、パラメーターの意味は次のとおりです:

  • name: Cookie の名前。セット。
  • value: Cookie の値。空にすることもできます。
  • expire: Unix タイムスタンプの形式で指定される Cookie のライフ サイクル。
  • path: Cookie が有効になるパスを指定します。デフォルトはドメイン名全体で有効です。
  • domain: Cookie が有効になるドメイン名を指定します。デフォルトは現在のドメイン名です。
  • secure: この Cookie を HTTPS プロトコル経由でのみ送信するかどうか。0 または 1、デフォルトは 0 です。
  • httponly: この Cookie へのアクセスを HTTP または HTTPS プロトコル経由のみに制限するかどうか (0 または 1)、デフォルトは 0 です。

その中で、expire パラメータが注目されます。

2. Cookie のライフ サイクル

Cookie のライフ サイクルは、クライアント コンピューター上の Cookie の有効期間として理解できます。 PHP では、expired パラメーターを使用して、クライアント コンピューター上の Cookie のライフ サイクルを指定できます。期限切れパラメータの値は、Unix タイムスタンプとして表される整数値です。タイムスタンプは 1970 年 1 月 1 日の 00:00:00GMT を基準とした秒数であるため、計算によって有効期限を取得できます。

それでは、例を見てみましょう。たとえば、「mycookie」という名前の Cookie を設定し、現在時刻から 60 分で期限切れになるようにしたいとします。次に、これを行うことができます:

$expire=time()+60*60; //设置生命周期为60分钟
setcookie("mycookie", "test", $expire);
ログイン後にコピー

この例では、まず現在の時刻のタイムスタンプを取得し (time() 関数で実装)、次に 60 分 (つまり 3600 秒) を追加して 60 を取得します。 -分後のタイムスタンプ。最後に、このタイムスタンプを setcookie() 関数の 3 番目のパラメーター $expire に渡し、それによって「mycookie」のライフサイクルが 60 分であることを指定します。

有効期限を設定したくない場合、つまり、ブラウザを閉じたときに Cookie が自動的に削除されるようにする場合は、以下に示すように、有効期限パラメータを 0 に設定できます。 ##さらに、Cookie をすぐに削除したい場合は、以下に示すように、そのライフ サイクルを過去のタイムスタンプに設定できます:

setcookie("mycookie", "test", 0);
ログイン後にコピー

この例では、「mycookie」のライフ サイクルを設定します。 」から現在時刻の 60 分前まで、Cookie はすぐに削除されます。

3. 実際のアプリケーション

実際のアプリケーションでは、特定のニーズに応じて Cookie のライフ サイクルを設定できます。たとえば、ユーザーのログイン ステータスを記憶したい場合は、ログイン時にユーザーのユーザー名とパスワードを Cookie に保存し、ライフ サイクルを日数、時間、分などに設定できます。等これにより、ユーザーがブラウザを閉じたりコンピュータを再起動したりした場合でも、Cookie の有効期限が切れていない限り、ユーザーは再度ログインする必要がありません。

それでは、実際の例を見てみましょう。ログイン ページがあるとします。ユーザー名とパスワードを入力した後、[パスワードを保存する] オプションをチェックできます。チェックすると、ユーザー名とパスワードが Cookie に保存され、ユーザーは再入力する必要がなくなります。次回ログインするときのユーザー名とパスワード。具体的な実装コードは次のとおりです。

setcookie("mycookie", "", time()-3600);
ログイン後にコピー

この例では、ユーザーが「パスワードを記憶する」オプションをチェックすると、ユーザー名とパスワードが Cookie に保存され、ライフサイクルが 7 日に設定されます。ユーザーが「パスワードを記憶する」オプションをチェックしない場合、ライフサイクルは設定されません。つまり、ブラウザを閉じると Cookie は自動的に削除されます。これにより、次回ユーザーがログイン ページを開いたときに (Cookie の有効期限が切れていない場合)、最後のログイン時に保存されたユーザー名とパスワードが表示されるため、ユーザーは簡単にすばやくログインできます。

4. 概要

PHP では、setcookie() 関数を使用して Cookie のライフサイクルを簡単に設定できます。ユーザーのログインステータスの記憶、ユーザー設定の保存など、さまざまなデータストレージのニーズを実現するために、特定のニーズに応じて Cookie のライフサイクルを設定できます。同時に、Cookie のライフ サイクルを設定する際には、タイムスタンプに基づく計算にも注意して、正しいライフ サイクルが設定されていることを確認する必要があります。

以上がCookie PHP のライフサイクルを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHP認証&承認:安全な実装。 PHP認証&承認:安全な実装。 Mar 25, 2025 pm 03:06 PM

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

PHP暗号化:対称と非対称暗号化。 PHP暗号化:対称と非対称暗号化。 Mar 25, 2025 pm 03:12 PM

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

PHPを使用してデータベースからデータを取得するにはどうすればよいですか? PHPを使用してデータベースからデータを取得するにはどうすればよいですか? Mar 20, 2025 pm 04:57 PM

記事では、PHPを使用してデータベースからデータを取得し、手順、セキュリティ対策、最適化手法、およびソリューションを使用した一般的なエラーをカバーしています。

PHP APIレート制限:実装戦略。 PHP APIレート制限:実装戦略。 Mar 26, 2025 pm 04:16 PM

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

PHP CSRF保護:CSRF攻撃を防ぐ方法。 PHP CSRF保護:CSRF攻撃を防ぐ方法。 Mar 25, 2025 pm 03:05 PM

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。

See all articles