Session と Cookie の区別と理解
まずは session について話しましょう
SESSION に関する議論は尽きないようですが、SESSION を理解できる人は 9 割以上いるはずです。でも、年をとりすぎないように、もう一度話しましょう~
SESSION の使用に同意する人もいれば、同意しない人もいます。しかし、この質問にはどう答えればよいでしょうか?私の意見を聞いてください。もし間違っても、金の延べ棒とコイン以外のものを投げないでください。
私がプログラマーであることを知っている人もいると思いますが、プログラマーシップで最も重要なことは効率です。しかし、ここではデザインについては話しませんが、より実践的な観点から SESSION を見てみましょう。
まず第一に、SESSION が何をするかについて話しましょう。SESSION は、特定のユーザーの IE とその現在のウィンドウで開いているウィンドウの対象となるユーザー情報を保存できるユーザー情報保存メカニズムです。なんでそんなこというの。まずはSESSIONがどのように起動されるかを見てみましょう。IEを開いてWebサイトを閲覧すると、SESSIONIDと画像、音声、FLASHなどの各種データのダウンロード許可を要求するコマンドが発行されます。
実際のデータ送信内容:IEからサーバーへ
GET / HTTP/1.1
Accept:image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、application/x-shockwave-flash、*/*
Accept- Language0: zh-cn
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性、MSIE 5.01、Windows NT 5.0)
ホスト: www.jh521.com
接続: Keep-Alive
サーバーが戻りますa 未使用の SESSIONID は IE で使用されます。その際、IE は返された SESSIONID を保存し、同時に次のように該当ページのダウンロード データを返します。 Server to IE
HTTP/1.1 200 OK
Server: Microsoft-IIS /5.0
Date: Sun , 30 Nov 2003 16:41:51 GMT
Content-Length: 21174..Content-Type: text/html
Set-Cookie: ASPSESSI/
Cache-control: private
次に、ページがあります現時点では、この IE プログラム (クライアントではありません) の SESSIONID は IBOMFONAOJFEEBHBPIENJFFC です。IE がこのサイトの ASP プログラムにアクセスすると、サーバーは IBOMFONAOJFEEBHBPIENJFFC がユーザーを意味することを認識し、SESSION を設定します。サーバー上の ("name") は、SESSION("IBOMFONAOJFEEBHBPIENJFFC")("name")="name"
または
SESSION(SESSIONID)("name")="name"
と見なされます。このようにして、SESSION はユーザーを区別します。
サーバーがこの ID をフィードバックすると、この ID が使用されているかどうかを確認します。たとえそれを変更しても、それを繰り返すことはできませんので、誰かの SESSION ID をシミュレートして騙したい場合は問題ありません。ただし、相手の IE 送信信号を取得し、その時点で SESSIONID が解除されていないことを確認した上でのみ実装可能です。
でも、時間があれば、POST 信号を通じて彼の NAME と PASS を直接見つけることができます。わざわざ SESSIONID の仕組みを理解している人もいると思うので、COOKIE について見てみましょう。厳密に言えば、SESSIONID は同じ種類ではありませんが、同じものです。 COOKIE を設定すると、サーバーは IE にコマンドをフィードバックします。 IE は、このネットワーク コマンドを通じて COOKIE を生成し、保存します。この情報は、このサイトにアクセスし、COOKID が有効なときなどに取得されます。
それでは、なぜ SESSION の代わりに COOKIE を使うのか
違いを見てください
有効期限と保存方法 送信内容
COOKIE はローカルに設定して保持できる 明確な情報
SESSION は IE を閉じず、サーバーはタイムアウトしない SESSIONID のみ
必要に応じてユーザーは、次回ユーザー名またはパスワードを入力せずに Web サイトにログインするときは、COOKIE のみを使用できます。
COOKIE レコードは削除または期限切れになるまで長期間保持できるため
ただし、SESSION は使用できません。保持されません。時間がかかりすぎるため、IE を閉じた後、SESSIONID レコードが自動的にクリアされます。次回ログインするときに、新しい SESSIONID が要求されます。サーバーは、ユーザーの個人変数を通じてユーザーのステータスを確認することはできません。 COOKIE を使用する設定を使用する場合、ユーザー権限は USER です。 IEがアクセスすると、USERのクリアコードがサーバーに送信されます。
それではCOOKIEレコードを直接変更してUSERをADMINに変更するなどの何らかの手段を使うと〜〜
面倒です。
しかし、ユーザー名とパスワードやウェブサイトの配色などの情報を保存するには、COOKIE を使用するのが最善です
さて、このことについて話すのは少し疲れています
Request.ServerVariables("HTTP_REFERER")
いくつかあると思います人々はこの Request.ServerVariables("HTTP_REFERER") を渡しました
いくつかの重要な制限を実装するため、特にリモート送信や違法な侵入に対処するために。
次に、サーバーによって取得された HTTP_REFERER 情報は IE によって完全にサーバーに送信され、シミュレートできることを思い出していただきたいと思います。
VB を使用して侵入プログラムを作成するのにかかる時間は 30 分もかかりません。 HTTP_REFERER をターゲットとしています。
(残念なことに、当初は彼は大したことはしていないと思っていましたが、WEBゲームのハングアッププログラムをやりに来ました)
素敵な返信を添付します:
--------------- ------ -------------------------------------------- ------ -----------------------------
COOKIE はローカルファイルであり、アリババの家にいる40人の泥棒
または 牛乳配達人が玄関先に釘を打った箱です。
SESSION はサーバー側のメモリであり、入浴時に浴槽から与えられるキーです。
自分専用に、自分だけのボックスをたくさん開けることができます。
用途は銭湯です。
ここで ppmm を含む全員を見ることができます:)。
以上、jQuery cookie の Session と Cookie の区別と説明を、jQuery cookie の内容も含めて紹介しましたので、PHP チュートリアルに興味のある方の参考になれば幸いです。