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
サーバーは、IE が使用できるように未使用の SESSIONID を返します。その時点で、IE は返された SESSIONID
を保存し、関連するページのダウンロード データを返します。同時に次のように: Server To IE
HTTP/1.1 200 OK
サーバー: Microsoft-IIS/5.0
日付: Sun, 30 Nov 2003 16:41:51 GMT
Content-Length: 21174..Content-Type: text/html
Set-Cookie: ASPSESSIONIDCACBBBRT=IBOMFONAOJFEEBHBPIENJFFC; path=/
Cache-control: private
このとき、ページの HTML コードがあります。この IE プログラム (クライアントではありません) は IBOMFONAOJFEEBHBPIENJFFC です。IE がこのサイト上の ASP プログラムにアクセスすると、IBOMFONAOJFEEBHBPIENJFFC がサーバーに送信され、サーバーは IBOMFONAOJFEEBHBPIENJFFC が SESSION("name")="name" を意味することを認識します。サーバー上の SESSION( "IBOMFONAOJFEEBHBPIENJFFC")("name")="name"
または
SESSION(SESSIONID)("name")="name"
とみなすことができます。このように、SESSIONユーザーを区別します。
サーバーがこの ID をフィードバックすると、この ID が使用されているかどうかを確認します。変更しても、
はそれを繰り返すことを許可しません。騙すために誰かの SESSION ID をシミュレートしたい場合は、大丈夫です。ただし、相手の IE 送信信号を取得し、その時点で SESSIONID が解除されていないことを確認した上でのみ実装可能です。
しかし、時間があれば、POST 信号を通じて彼の名前とパスを直接見つけることができます。わざわざ SESSIONID の仕組みを理解している人もいると思うので、COOKIE について見てみましょう。厳密に言えば、SESSIONID は同じ種類ではありませんが、同じものに属します。 COOKIE を設定すると、サーバーは IE にコマンドをフィードバックします。 IE は、このネットワーク コマンドを通じて COOKIE を生成し、保存します。この情報は、このサイトにアクセスし、COOKID が有効な場合などに取得されます。
では、なぜ SESSION ではなく COOKIE を使用するのでしょうか?
違いを見てください
有効期限と保存方法 送信内容
COOKIE はローカルに設定および保持できます 明確な情報
SESSION は IE とサーバーを閉じませんタイムアウトなし、SESSIONID
のみ COOKIE は長期間保持できるため、次回からユーザー名やパスワードを入力せずに Web サイトにログインさせたい場合にのみ使用できます (COOKIE が保存されている場合は
)レコードはその日付より前に削除または無効化されます)
ただし、SESSION はできません。長期間保持されず、IE は閉じた後に SESSIONID レコードを自動的にクリアします。
次回ログインするときに新しい SESSIONID が要求されます。
サーバーは、ユーザーの個人変数を通じてユーザーのステータスを確認する場合、COOKIE を使用できません。
ユーザーの権限が USER に設定されている場合。 IEがアクセスすると、USERのクリアコードがサーバーに送信されます。
それではCOOKIEレコードを直接変更してUSERをADMINに変更するなどの何らかの手段を使うと~~
面倒です。
ただし、ユーザー名とパスワード、Web サイトの配色などの情報を保存するには、COOKIE を使用するのが最善です
わかりました、少し疲れました。このことについて話しましょう
Request.ServerVariables("HTTP_REFERER")
この Request.ServerVariables("HTTP_REFERER")
を使用して、いくつかの重要な制限、特にリモート送信や違法な侵入に対処するために使用していると思います。
次に、サーバーによって取得された HTTP_REFERER 情報は IE によって完全にサーバーに送信されることを思い出していただきたいと思います。これはシミュレートできます
。VB を使用するのにかかる時間は 30 分もかかりません。 HTTP_REFERER の侵入プログラムを作成します。
(残念なことに、最初は彼は何も深刻なことをしていないと思っていましたが、WEB ゲームのハングアッププログラムをやりに来ました)
素敵な返信を添付します:
----------- ------ -------------------------------------------- ------ -------------------------------------
COOKIE はローカルですファイルとアリの40人の泥棒です。ババの家が作ったマーク、
、または牛乳配達人がドアに釘付けした箱です。
SESSION はサーバー側のメモリであり、入浴時に浴槽から与えられるキーです。
自分専用のボックスを多数開けることができます。
お申込みは銭湯です。
ppmm を含む全員をここで確認できます:)。