検索

PHP には、Cookie とセッションという 2 つの非常に重要な関数があります。これらはどのように使用され、違いは何ですか?

この記事では、Cookie とセッションについて理解します。

Cookie は、クライアントのブラウザに保存されるデータです。当社は、ユーザー データを追跡および保存するために Cookie を使用します。通常、Cookie は HTTP ヘッダーを通じてサーバーからクライアントに返されます。ほとんどの Web プログラムは Cookie 操作をサポートしています

Cookie は HTTP ヘッダーに存在するため、ヘッダー関数の使用制限と同様に、他の情報を出力する前に設定する必要があります。

Cookieメソッドの設定

setcookie("name",'zhangsan');

setcookie("name",'zhangsan',time()+60);//Cookieの有効時間を60秒に設定します

// setcookie("visittime",date("y-m-d H:i:s"),time()+60);//Cookieの有効期限を保存する変数を設定します

Cookieメソッドを読み取ります

$name=$_COOKIE[" name "};

Cookieメソッドの削除

setcookie("name","",time()-1);//cookie()の時刻を現在時刻から1を引いた値に設定し、time()関数は戻ります秒単位で表される時間 現在のタイムスタンプの場合、有効期限から 1 秒を引いて過去の時間を取得し、Cookie を削除します

Cookiez を削除するには、setcookie() 関数の 2 番目のパラメーターを a に設定するだけです。 null 値を指定し、3 番目のパラメーターに cookie を設定します。有効期限をシステムの現在時刻よりも小さく設定するだけです

PHP の Cookie とセッション

Cookie を理解した後、セッションを見てみましょう

session はユーザーのセッション データをユーザーの識別は session_id を通じて行われ、PHP はデフォルトでセッション ID を保存するため、セッションはある程度 Cookie に依存します。ただし、これは絶対的なものではなく、セッション ID を識別のためにサーバーに渡すことができる限り、セッション ID をパラメーターを通じて実装することもできます。

セッションの使用

PHP でセッションを使用するのは非常に簡単です。まず session_start メソッドを実行してセッションを開き、次にグローバル変数 $_SESSION を通じてセッションの読み取りと書き込みを行います。

session_start();$_SESSION['test'] = time();var_dump($_SESSION);

session は、設定される値を自動的にエンコードおよびデコードするため、セッションは、次のデータを含むあらゆるデータ型をサポートできます。オブジェクトなど

session_start();$_SESSION['ary'] = array('name' => 'jobs');$_SESSION['obj'] = new stdClass();var_dump($_SESSION);

defaultこの状況では、セッションはファイルの形式でサーバーに保存されるため、ページ上でセッションが開かれると、そのセッション ファイルが排他的に占有され、現在のユーザーによる同時アクセスができなくなります。実行して待ちます。この問題は、キャッシュまたはデータベース ストレージを使用することで解決できます。これについては、いくつかの上級コースで説明します。

セッションの削除と破棄

セッション値を削除するには、PHP の unset 関数を使用できます。削除後は、グローバル変数 $_SESSION から削除され、アクセスできなくなります。

session_start();$_SESSION['name'] = 'jobs';unset($_SESSION['name']);echo $_SESSION['name'] //プロンプト名が存在しません

すべてのセッションを削除するには、session_destroy 関数を使用して現在のセッションを破棄します。 session_destroy はすべてのデータを削除しますが、session_id はまだ存在します。

session_start();$_SESSION['name'] = 'jobs';$_SESSION['time'] = time();session_destroy();

session_destroy はグローバル変数をすぐに破棄しないことに注意してください。 $_SESSION は次回アクセスされるときのみ空になります。そのため、$_SESSION をすぐに破棄する必要がある場合は、unset 関数を使用できます。

session_start();$_SESSION['name'] = 'jobs';$_SESSION['time'] = time();unset($_SESSION);session_destroy(); //これでtime Already empty

Cookie 内の session_id (通常はユーザーのログアウト時に使用される) を同時に破棄する必要がある場合は、明示的に setcookie メソッドを呼び出して session_id の Cookie 値を削除する必要もあります。

セッションを使用してユーザーのログイン情報を保存します

セッションはさまざまな種類のデータを保存するために使用できるため、多くの場合、ユーザーのログイン情報、ショッピングカートのデータ、または一時的な使用のための一時的なデータを保存するために使用されます。等。

ユーザーがログインに成功すると、通常、ユーザーの情報はセッションに保存され、いくつかの重要なフィールドは個別に保存され、その後、すべてのユーザー情報が独立して保存されます。

$_SESSION['uid'] = $userinfo['uid'];$_SESSION['userinfo'] = $userinfo;

一般的に言えば、ログイン情報は sessioin または cookie のどちらかに保存できます。両者の違いは次のとおりです。セッションは複数のデータ型に簡単にアクセスできますが、Cookie は文字列型のみをサポートします。同時に、よりセキュリティの高い一部のデータについては、セッションがサービスに保存されている間、Cookie をフォーマットして暗号化する必要があります。より安全な。

header("content-type:text/html; charset=utf-8");

session_start();//ユーザーが正常にログインし、次のユーザーデータを取得したと仮定します $userinfo = array(

'uid ' => 100,

'名前' => '123456789@qq.com',

'年齢' ' => '23');

/* ユーザー情報をセッションに保存*/

$_SESSION['uid'] = $userinfo['uid'];

$_SESSION['name'] = $userinfo [' name'];

$_SESSION['userinfo'] = $userinfo;

//* ユーザーデータを Cookie に保存する簡単な方法*/

$secureKey = 'php';

//暗号化されたパスワードKey $str = Serialize($userinfo);

//ユーザー情報をシリアル化する //ユーザー情報を暗号化する前

$str =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));

/ /ユーザー情報を暗号化した後//暗号化されたユーザー データを Cookie に保存します

setcookie('userinfo', $str);

?>

最後に、セッションと Cookie の最大値を見てみましょう。

PHP の Cookie とセッションまず、セッションはサーバーにセッション情報を保存し、セッションIDを介してクライアント情報を送信します。同時に、サーバーがセッションIDを受信した後、このIDに基づいて関連するセッション情報リソースを提供します

2番目、Cookie。すべての情報はクライアントにテキスト形式で保存され、ブラウザによって管理および維持されます

3 つ目、セッションはサーバーに保存されるため、すべてのリモート ユーザーはセッション ファイルと Cookie の内容を変更できません

クライアント向けです オンエンドストレージ、すべてのセッションは Cookie よりもはるかに安全で、もちろん、簡単な制御、カスタマイズ可能なストレージなど (データベースに保存される) など、多くの利点があります...

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

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較PHPおよびPython:コードの例と比較Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール