ホームページ  >  記事  >  バックエンド開発  >  PHP でのセッションの使い方の詳細な紹介 (1)_PHP チュートリアル

PHP でのセッションの使い方の詳細な紹介 (1)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 10:57:21794ブラウズ

PHP開発におけるCookieと比較して、セッションはサーバー側に保存されるセッションであり、比較的安全であり、Cookieのような保存長制限もありません。ここではセッションについて紹介します。

phpのセッションとCookie

セッションとは、PHP開発におけるCookieと比較して、サーバー側に保存されるセッションのことで、比較的安全で、Cookieのような保存期間の制限がありません。 この記事では、その使い方を簡単に紹介します。セッション。

セッションはテキストファイルの形式でサーバー側に保存されるため、クライアントがセッションの内容を変更する心配はありません。実際、サーバー側のセッション ファイルでは、PHP がセッション ファイルのアクセス許可を自動的に変更し、システムの読み取りおよび書き込みアクセス許可のみを保持し、ftp 経由では変更できないため、より安全です。

Cookie の場合、ユーザーがログインしているかどうかを確認したいと仮定すると、ユーザー名とパスワード (おそらく md5 暗号化文字列) を Cookie に保存し、ページがリクエストされるたびに検証する必要があります。ユーザー名とパスワードがデータベースに保存されている場合、毎回データベース クエリを実行する必要があり、データベースに不要な負担がかかります。一つだけの検証はできないからです。理由は、クライアント Cookie の情報が変更される可能性があるためです。ユーザーがログインしているかどうかを示す $admin 変数を格納する場合、$admin が true の場合はログインしていることを意味し、false の場合はログインしていないことを意味します。初めて検証に合格した後、$ を格納します。 admin が cookie 内で true に等しいので、次回は検証する必要はありません。これは間違っていますか?管理者権限を取得するのは非常に危険です。

セッションは異なります。セッションはサーバー側に保存されます。リモート ユーザーはセッション ファイルの内容を変更できません。そのため、ログインするかどうかを決定するために $admin 変数を保存するだけです。最初の検証に合格した後、 $admin 値を true に設定します。後で、値が true であるかどうかを確認します。そうでない場合は、ログイン インターフェイスに移動します。これにより、多くのデータベース操作が軽減されます。また、Cookie を検証するために毎回パスワードを渡すという危険性も軽減できます (SSL セキュリティ プロトコルを使用しない場合、セッション検証は 1 回だけ行う必要があります)。パスワードが md5 で暗号化されている場合でも、簡単に傍受できます。

もちろん、セッションを使用することには、簡単な制御やユーザー定義のストレージ (データベースに保存される) など、多くの利点があります。ここではこれ以上多くは言いません。

セッションは php.ini に設定する必要がありますか? 誰もが PHP.ini を変更する権限を持っているわけではないため、通常は必要ありません。セッションのデフォルトのストレージ パスはサーバーのシステム一時フォルダーであるようにカスタマイズできます。自分のフォルダに保存します。これは後ほど紹介します。

Phpでセッションを作成する方法

まずはセッションの作成方法を紹介します。本当に、とてもシンプルです。

セッション session を開始し、$admin 変数を作成します:

<ol class="dp-c">
<li class="alt"><span><span class="comment">// 启动 session session_start();  </span><span> </span></span></li>
<li>
<span class="comment">// 声明一个名为 admin 的变量,并赋空值。  </span><span> </span>
</li>
<li class="alt">
<span class="vars">$_session</span><span>[</span><span class="string">"admin"</span><span>] = null;   </span>
</li>
<li><span>?>   </span></li>
</ol>
Session を使用する場合、または PHP ファイルが Session 変数を呼び出したい場合は、session_start() 関数を使用して、Session を呼び出す前にセッション変数を開始する必要があります。他に何も設定する必要はありません。PHP が自動的にセッション ファイルを作成します。

このプログラムを実行すると、システムの一時フォルダーでセッション ファイルが見つかります。一般的なファイル名は、sess_4c83638b3b0dbf65583181c2f89168ec の後に 32 ビットでエンコードされたランダムな文字列が続く形式になっています。エディタで開き、内容を確認してください:

<ol class="dp-c"><li class="alt"><span><span>admin|N; </span></span></li></ol>

1

http://www.bkjia.com/PHPjc/445795.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/445795.html技術記事 PHP開発におけるCookieと比較して、セッションはサーバー側に保存されるセッションであり、比較的安全であり、Cookieのような保存長の制限もありません。ここではセッションについて紹介します。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。