Cookieは、Webサイトを閲覧しながら、Webブラウザーによってユーザーのコンピューターに保存されている小さなデータです。 PHPでは、Cookieがセッションデータを管理し、ユーザーの好みを保存し、よりパーソナライズされたユーザーエクスペリエンスを促進するために使用されます。
PHPスクリプトがCookieを設定したい場合、Cookieの名前、値、有効期限、パス、ドメイン、セキュリティオプションを含むSet-Cookie
ヘッダーをユーザーのブラウザに送信します。ブラウザがこのヘッダーを受信すると、指定されたパラメーターに従ってCookieを保存します。同じドメインへの後続のリクエストで、ブラウザはCookie
ヘッダーのサーバーにCookieを自動的に送り返します。
PHPは、 $_COOKIE
SuperGlobal Arrayを使用してCookieデータにアクセスできます。これにより、PHPスクリプトは、ブラウザから送信されたCookieの値を読み取り、セッション状態の維持やユーザー設定の覚えを覚えるなど、さまざまな目的にそれらを使用できます。
Cookieは、PHP Webアプリケーションでいくつかの一般的な目的を果たします。
PHPでCookieの設定はsetcookie()
関数を使用して行われます。これが例です:
<code class="php">// Set a cookie that expires in one hour setcookie('username', 'JohnDoe', time() 3600, '/');</code>
この例では:
'username'
はクッキー名です。'JohnDoe'
はクッキーの価値です。time() 3600
有効期限を1時間に設定します。'/'
Cookieが利用可能になるサーバー上のパスを指定します。 Cookieを取得するために、PHPは$_COOKIE
SuperGlobalアレイを提供します。あなたはその名前でクッキーの価値にアクセスできます:
<code class="php">// Retrieve the value of the 'username' cookie $username = $_COOKIE['username'] ?? null;</code>
この例では、 $_COOKIE['username']
「username」Cookieの値を取得します。ヌルの合体オペレーター??
Cookieが存在しない場合、デフォルト値( null
)を提供するために使用されます。
PHPでCookieを使用するには、いくつかのセキュリティに関する考慮事項があります。
セキュアフラグ: secure
フラグを使用して、CookieがHTTPSのみで送信されるようにします。これは、中間の攻撃を防ぐのに役立ちます。
<code class="php">setcookie('username', 'JohnDoe', time() 3600, '/', '', true); // 'true' sets the secure flag</code>
httponlyフラグ: httpOnly
フラグを設定して、クライアント側のスクリプトがCookieにアクセスするのを防ぎ、クロスサイトスクリプティング(XSS)攻撃のリスクを減らします。
<code class="php">setcookie('username', 'JohnDoe', time() 3600, '/', '', true, true); // 'true' sets the httpOnly flag</code>
SAMESITE属性: SameSite
属性を使用して、クロスオリジンリクエストでCookieが送信されるかどうか、どのように送信されるかを指定し、クロスサイトリクエストForgery(CSRF)攻撃を軽減します。
<code class="php">setcookie('username', 'JohnDoe', time() 3600, '/', '', true, true, 'Lax'); // 'Lax' sets the SameSite attribute</code>
これらのセキュリティプラクティスに従うことにより、ユーザーのデータを保護し、Cookieを使用するPHPアプリケーションのセキュリティを強化することができます。
以上がCookieがPHPでどのように機能するかを説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。