クッキーの知識と使用

クッキーは、時には複数のフォームと  クッキー、ユーザのローカル端末に保存されている目的のセッションを追跡するため、特定のサイトのユーザIDを識別するために、(典型的には、暗号化された)データを指します。RFC2109で定義されており、2965年には、廃棄されている、最新の仕様はRFC6265の置換された [を。1]  。(ブラウザのキャッシュと呼ばれることができます)

クッキーの属性オプション
各クッキーについては、このような、失敗したドメイン名、およびので、どのパスにあなたがに送信したい場合など、特定の属性を持っています。これらのプロパティは、クッキーのオプションによって設定され、クッキーのオプションが含まれます:有効期限、ドメイン、パス、セキュア、HttpOnlyのあなたはクッキーが関連するこれらのプロパティを設定することができますいずれかに設定すると、当然のことながら、提供することができない、あなたはこれらのプロパティのデフォルト値を使用します。これらのプロパティを設定すると、プロパティやスペース、次のサンプルコードの間にセミコロンで区切ら:
 「キー=名; =木、2016年2月には25有効期限4時18分00秒GMT;ドメイン= ppsc.sankuai.com。パス= /;セキュア; HttpOnlyの」

有効期限
オプションを設定するために使用されている有効期限「何時間の有効内にクッキーを。」実際には、クッキーの有効期限が満了し、有効期限が切れる(新しいDate()。toGMTString()または新しいDate()。にtoUTCString()を取得することで)GMT時間形式でなければなりません。

2月25日午前4時18分で講演した後=木、2016年2月25日午前4時18分00秒GMT表さクッキーを有効期限が切れると、2016ポイントには、ブラウザのクッキーをクリアします故障のため、失敗します。このオプションが設定されていない場合、デフォルトではセッションクッキーすなわち、セッションに対して有効です。このクッキーは、ブラウザをなした後、閉じられています。

期限切れになるには、HTTP / 1.0プロトコルのオプション新しいHTTP / 1.1プロトコルは、最大エージングオプションに置き換えられてい満了で、両方の効果的な時間制限の役割は、クッキーです。値が時点(=時間がクッキーの失敗を満了した)、値max-年齢は秒単位の時間(時間=クッキーを作成し、故障時間+最大エージング)がある期限が切れます。
さらに、デフォルト値は-1最大エージング(セッションのすなわち、有効)、MAX-年齢は3つの値がある場合:負、0、正の数。時間+最大エージングを作成するための有効:負:有効なセッション;:; 0正の数のクッキーを削除

ドメインと経路
ドメインは、ドメイン名、パスはパスであり、両者は一緒にクッキーにアクセスすることができる制限するために一緒にURL、ドメインとURLのパスを構成します。

一つの文にまとめた:要求されたURL(URLはJS / HTML / IMG / CSSのリソース要求であってもよいが、XHRリクエストを含まない場合があります)ドメイン名は「Baiduのであればクッキーのドメインは、「baidu.com」パスに「/」であります.COM「またはのようなサブドメイン、」api.baidu.com「」dev.api.baidu.com「URLとパスは、」/「またはサブパス」/ホーム「」/ホーム/ログイン」、ブラウザのクッキーは、このクッキー要求のヘッダに追加されます。

だから、ドメインとパス2オプションブラウザが自動的にヘッドに追加されたときに一緒にクッキーを決定するには、要求を送りました。あなたはこれらの2つのオプションが設定されていない場合は、デフォルト値が使用されます。デフォルトのドメイン値は、クッキーは、パスがページのクッキーディレクトリのデフォルト設定であるウェブサイトのドメイン名を設定します。

特別な注意1:
クロスドメインXHR要求が発生し、リクエストURLのドメイン名とパスは、クッキーのドメインとパスを満たしていても、デフォルトでクッキーが自動的にリクエストヘッダに付加されることはありません。あなたはこの記事の最後のセクションを読んで理由を知りたい場合)

特別な注意2:
ドメイン(このドメイン内)自体は、ドメイン名に設定することができますページで、ドメイン名、またはページ自体を親ドメインではなく、共通のサフィックス公共のサフィックス。以下に例示する:ページのドメイン名www.baidu.com場合は、ドメインは「www.baidu.com」に設定することができ、また、「baidu.com」に設定することができますが、「.COM」または『COM』に設定することはできません。

セキュア
セキュアオプションは、要求の安全性を確保するために送信されますクッキーを設定するために使用されます。リクエストがHTTPSであるか、他の安全なプロトコルと、Cookieは安全なオプションを含めることができ、サーバに送信されます。

デフォルトでは、クッキー(すなわち空の)安全なオプションになりません。だから、デフォルトでは、プロトコルに関係なくまたはHTTPリクエストのHTTPSプロトコルの、クッキーがサーバーに送信されます。しかし、それを注意することは、それは安全なとき、彼らはに送信することができる前に、安全なオプションは、サーバだけを定義し、それはあなたがクッキーを見ることができないという意味ではありません。

のは、クッキーの安全なタイプを設定してみましょう:

document.cookie =「名前=黄;確保 」、
および以下に示すように、あなたは、コンソールでクッキーが表示されます:

 

 

ここで注意することは、次のピットです:
あなたはクライアントページでのjsであるクッキーの安全なタイプを設定したい場合は、ページがhttpsプロトコルであることを確認する必要があります。ページhttpプロトコルは、クッキーの安全なタイプを設定されていません。

HttpOnlyの
このオプションは、JSを訪問することが可能であるかどうかのクッキーを設定するために使用されます。デフォルトでは、クライアントがクッキーjsのコードを(など、リードを含め、変更、削除)アクセスに行くことができるようにデフォルトでは、クッキーは、HttpOnlyのオプション(つまり空)を取ることはありません。HttpOnlyのオプション付きのクッキーは、クライアントがクッキーjsのコードを(など、読み取り、変更、削除を含む)にアクセスすることができないとき。

クライアントがクッキーのHttpOnlyのタイプを設定するために、JSのコードではありませんが、クッキーのこのタイプは、サーバによって設定することができます。

次に、どのように我々は、ページがクッキーのHttpOnlyの種類は何であるか知っていますか?見て:

 

 

HTTPであるクッキーのもの誰HttpOnlyのタイプは、そのようなPA_VTIME上記画像として、√でマークされます。あなたは、document.cookieすることによって得ることができないのPA_VTIMEを変更することはできません。

--httpOnlyとセキュリティ

上記の説明から、あなたには、いくつかの質問がある場合:なぜ私たちはクッキーにアクセスするためのクライアントを制限したいですか?実は、これはセキュリティのためです。

ただ、思う:クッキーのいずれかが恐ろしい何かが起こるだろうクライアントdocument.cookieによってアクセスすることができます。当社のウェブサイトにXSS攻撃を被った場合、悪質なスクリプトが、Webページ内のスクリプトにあります。document.cookieのユーザー認証に関連するクッキー、クッキーを読み取ることによって、攻撃者のサーバに送信します。このスクリプトは、実行するスクリプトです。攻撃者は、簡単なユーザー認証情報を得たので、彼らは(攻撃者が有効なユーザー認証情報を持っているので、それはあなたのサーバーによって検証されます)サーバーにアクセスすることからユーザーを偽装するために、大きな揺れに置くことができます。
----------------
免責事項:この記事はCC BY-SA 4.0の著作権契約、複製、元のソースのリンクと、この文を添付してください次元の記事CSDNブロガー「show_code」、です。 。
オリジナルリンクします。https://blog.csdn.net/playboyanta123/article/details/79464684

おすすめ

転載: www.cnblogs.com/fppblog/p/11387207.html