PHPセッションは、複数のページリクエストにわたって特定のユーザーに関連付けられたデータを保存および取得する方法を提供します。 ショッピングカートでログインの詳細やアイテムを覚えているなど、ウェブサイト全体でユーザー状態を維持するために不可欠です。 これは、PHP 7:
でセッションを操作する方法の内訳です。セッションの開始:
最初のステップは、session_start()
関数を使用してセッションを開始することです。 この関数は、スクリプトのまさに冒頭で呼び出される必要があります。 出力がブラウザに送信される前に。 セッションを開始する前に出力を送信するとエラーが発生する可能性があるため、これは重要です。セッション変数の設定:
<?php session_start(); ?>
セッションが開始されたら、SuperGlobal Arrayを使用してセッション変数を設定できます。 この配列は、通常の連想配列のように機能します。セッション変数の取得:
セッションデータを取得するには、キーとして変数名を使用して$_SESSION
配列にアクセスするだけです。セッション変数の変更:
<?php session_start(); $_SESSION['username'] = 'john_doe'; $_SESSION['cart'] = array('item1', 'item2'); ?>
セッション変数を削除するには、
$_SESSION
5を使用します。セッションを破壊する:
<?php session_start(); echo "Welcome, " . $_SESSION['username'] . "!"; foreach($_SESSION['cart'] as $item){ echo "<br>Item in cart: " . $item; } ?>
セッションを完全に破壊するには、関数を使用します。これにより、すべてのセッション変数とセッションIDが削除されます。 これは、サーバー上のセッションデータのみを削除することに注意してください。セッションIDを含むクライアントのCookieは、有効期限が切れるまで存在します。完全な削除を確保するには、セッションCookieも削除する必要があります。
セッション変数にアクセスまたは変更する前に、常にunset()
を呼び出すことを忘れないでください。 脆弱性を防ぐためのいくつかのベストプラクティスを次に示します:
session_regenerate_id(true)
secure
true
httponly
セッションの固定を防ぐ:true
クライアントが提供するセッションIDだけに依存しないでください。 ユーザーがログインした後、常にセッションIDを再生します。 セッションがアクティブなままである限り(セッションが失効するか破壊されるまで)<?php session_start(); ?>
<?php session_start(); ?>
いくつかの落とし穴は、PHPセッションを使用する場合、セキュリティの脆弱性または予期しない動作につながる可能性があります。 セッションを開始する前に何かを出力すると、エラーが発生し、セッションが正しく機能するのを防ぐことができます。
session_start()
セキュリティ対策が不十分です。session_start()
HTTPSの使用、セッションIDの再生、または適切に安全なCookieは、攻撃に対して脆弱なままになる可能性があります。 情報。 以上がPHP 7でセッションを操作する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。