ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルでの Cookie とセッション テクノロジーの簡単な分析

PHP_PHP チュートリアルでの Cookie とセッション テクノロジーの簡単な分析

WBOY
WBOYオリジナル
2016-07-13 10:16:08824ブラウズ

PHP における Cookie とセッションテクノロジーの簡単な分析

1.クッキーとは何ですか?

Cookie は、ユーザーの身元を特定し、セッション追跡を実行するために、一部の Web サイトによってユーザーのローカル端末に保存されるデータ (通常は暗号化された) を指します。

一般的な理解は、あなたが何かを買うために専門店やスーパーマーケットに行くと、そのお店があなたのために会員カードを申請し、将来あなたの身元情報と購入情報がこのカードに保存されるということです。カードがあなたに置かれます。それ以降は、買い物のたびにカードをスワイプするだけでよく、その他の情報を登録したり記録したりする必要はありません。

次に、この段落をウェブにマッピングします。スーパーマーケットのレジカウンターがサーバーであり、あなた自身がクライアントに保存されている Cookie ファイルであり、アカウントのパスワードなどの情報が記録されています。

ただし、注意すべき点は、クッキーは 2 回目に使用した場合にのみ有効になるということです。つまり、スーパーで初めて何かを購入するときに、カードを申請してくれるということです。今後買い物をするときにカードをスワイプすることができますが、2回目以降は買い物をする前にスーパーマーケットはあなたに関する情報を持っていないため、初めてカードをまったく持っていません。 Web サイトに初めてログインするときは、もちろんアカウント、パスワード、その他の情報を入力する必要があります。その後、Cookie を生成して、次回使用するためにローカルに保存できます。

同時に、Cookieにも独自の有効期限があり、期限が切れると無効になり、ローカルのCookieファイルは自動的に削除されます。再度ログインし、アカウントとパスワードを入力して、新しい Cookie を生成する必要があります。これを行う主な目的は安全上の理由です。

2. クッキーの仕組み図。

3. クッキーの使用方法。

(1) クッキーを設定します

そうです例:

りー

各パラメータの使用法については説明しません。ここでは、Cookie を設定する上記の 2 つの方法における時間とパスの分析に焦点を当てます。

最初に0を入れた場合、生存時間が0になることは明らかに不可能です。ブラウザを閉じるとCookieの有効期間が終了することを示します。それらはすべてパスに「/」を入れます。これは、このドメイン名の下にあるすべてのコンテンツ パスが Cookie にアクセスできることを意味します。つまり、この Web サイトの下にあるすべてのページがこの Cookie を追跡できることを意味します。

(2) Cookieを削除します

bool setcookie ( string $name,$value,$expire,$path,$domain,$secure,$httponly  
は Cookie の設定と同じです。つまり、Cookie の値がなく、時刻が現在時刻より早く、その後期限切れになります。

(3) クッキーを見る

setcookie("username","user",0,"/");
setcookie("username","user",time()+60*60,"/");
誰もがこの男を知っているはずなので、彼に目を無駄にしないでください。

------------------------------------------------ ----------------------------------

--------------------------------私が境界線です----------- ------ ----------------------------

------------------------------------------------ ----------------------------------

1.セッションとは何ですか?

セッションとは、エンドユーザーが対話型システムと通信する間の時間間隔を指し、通常は、システムへの登録からログアウトまでに経過した時間を指します。

セッションの動作原理(Baiduより抜粋) (1) セッションが初めて有効になると、一意の識別子がローカル Cookie に保存されます。 (2) まず session_start() 関数を使用すると、PHP は保存されたセッション変数をセッション ウェアハウスからロードします。 (3) PHPスクリプト実行時に、session_register()関数を使用してセッション変数を登録します。 (4) PHP スクリプトの実行が終了すると、破棄されていないセッション変数がローカル セッション ライブラリの特定のパスに自動的に保存されます。このパスは php.ini ファイルの session.save_path で指定できます。 Web ページを閲覧したときにロードして使用できます。
実は、スーパーに買い物に行ったときに申請した会員カードには個人情報が記録されますが、会員カードは自分の手元に保存されるのではなく、一度登録されるとスーパーのシステムにデータとして保存されます。 、直接使用できます。必要なときに直接使用できます。ただし、スーパーマーケットを出ると、その会員カードは次の買い物まで有効性が失われます。同時に、この会員カードの身分証明はあなただけであり、他人があなたの会員カードを使用することはできません。直接席に座ってみるとわかりやすいです。
セッションと Cookie の主な違いの 1 つは、セッションは登録直後に使用される、つまり最初の購入時に使用できるのに対し、Cookie 情報は最初の購入後に会員カードに保存され、2 回目の購入から使用され始めることです。時間。

2. セッションの仕組みの図。

3.セッションの使い方。

(1) セッションを設定します

session_start();

$_SESSION['username']="user";

每一次在使用session之前都需要进行开启session,就当是通常进门都先需要开门一样。而在设置session时和对变量进行赋值没有多大的区别,其实$_SESSION本身就是一个变量。

(2)删除session

这个相对步骤就多了点,而不是cookie里面一句话搞定。

//开启session
session_start();

//注销session
session_unset();

//销毁session
session_destroy();

//同时销毁本地cookie中的sessionid
setcookie(session_name(),"",time()-3600,"/");
(3)查看session

print_r($_SESSION);

1.cookie与session优缺点。

cookie本身是存放在客户端中,仅占用几kb的内存大小。每次登录网站的时候都会带上本地的cookie进行验证,省去了麻烦的重复输入。但是安全性不是很高,毕竟是存放在本地的文件,虽然都是进行加密了的,一旦电脑数据被盗取,cookie就很有可能会被获取。

session存放在服务器中,占中内存虽小,但是用户基数够大的情况下,会对服务器造成很大的负荷。但是,数据放在服务器上,总归风险降低了许多。虽说没有不透风的墙,不过风也是可以很小很小的,这比喻。。。有同学可能疑问,session使用时,会有sessionid存在本地,一旦获取能否登录。答案当然是否定的,因为每次的id都是不一样的。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/900032.htmlTechArticle浅析PHP中cookie与session技术 1.cookie是什么? cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。