PHP には、Cookie とセッションという 2 つの非常に重要な関数があります。これらはどのように使用され、違いは何ですか?
この記事では、Cookie とセッションについて理解します。
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 を設定します。有効期限をシステムの現在時刻よりも小さく設定するだけです
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 の最大値を見てみましょう。まず、セッションはサーバーにセッション情報を保存し、セッションIDを介してクライアント情報を送信します。同時に、サーバーがセッションIDを受信した後、このIDに基づいて関連するセッション情報リソースを提供します
2番目、Cookie。すべての情報はクライアントにテキスト形式で保存され、ブラウザによって管理および維持されます
3 つ目、セッションはサーバーに保存されるため、すべてのリモート ユーザーはセッション ファイルと Cookie の内容を変更できません
クライアント向けです オンエンドストレージ、すべてのセッションは Cookie よりもはるかに安全で、もちろん、簡単な制御、カスタマイズ可能なストレージなど (データベースに保存される) など、多くの利点があります...

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
