Cookieに関する記事を書きたいと思っていました。特に、Cookieの相互作用によるクライアントサイドスクリプトとサーバーのASPの問題は、すべての人を悩ませるかもしれません。実は
特にドメインとパスの概念が明確な場合、Cookieを深く理解している場合、問題はありません。
私が思い出させたいもう1つのポイントは、request.servervariables(http_cookie)によって取得された結果がcookieとrequest.cookiesを取得する可能性があるということです。
誰もがそれがASPの学習に役立つ理由を考えています。
request.cookies、粒子:
<テーブルボーダー= 2>
<thead>
<th> cookie名</th>
<th> cookie値</th>
<th> cookie haskeys </th>
</thead>
<%
薄暗いアイテム
request.cookiesの各アイテムについて
%>
<tr>
<td> <%= item%> </td>
<td> <%= request.cookies(item)%> </td>
<td> <%= request.cookies(it)
</tr>
<tr>
<%
if request.cookies(it).haskeys then
request.cookies(item)の各strsubkeyについて
%>
<td>&bnsp </td>
<td>&bnsp </td>
<td> <%= request.cookies(strkey)(strsubkey)%> </td>
<%
次
ifを終了します
次
%>
</table>
request.servervariables(http_cookie)、粒子:
<テーブルボーダー= 2>
<thead>
<th> cookie名</th>
<th> cookie値</th>
</thead>
<%
薄暗いアイテム、sp、i、d
sp = split(request.servervariables(http_cookie)、;、-1,1)
私たちが見つける各クッキーを表示するクッキーコレクションをループする
i = 0からubound(sp)の場合
d = split(cstr(sp(i))、=、-1,1)
%>
<tr>
<td> <%= d(0)%> </td>
<td> <%ubound(d)= 1 then respons.write(d(1))else response.write&nbsp;
</tr>
<%
次
%>
</table>
重い粒子@Y2K0814
-------------------------------------------------------------- -----
以下は<SSP Cookie Guide Guide> Gan Jipingの翻訳>
実際、Web開発では、Cookieはユーザーが使用するコンピューターに保存されます
いくつかの情報は、ユーザーが将来このサイトにアクセスすると、Webがこの情報を抽出できます。
現在、Cookieの興奮はありませんが、実際にそれを使用して多くの意味のある機能を達成することができます!たとえば、サイトに配置できます
質問と回答フォームは、訪問者のお気に入りの色とフォントに尋ね、次にこれらのカスタマイズされたユーザーのWebインターフェイスに基づいて尋ねます。また、訪問者のログインパスワードを保存することもできます。
場合、訪問者が再びこのサイトにアクセスすると、ログインするためにパスワードを入力する必要はありません。
もちろん、Cookieにもいくつかの欠点があります。まず第一に、Cookieの機能をプログラムしていくつかの悪い試みを実現できるため、ほとんどのブラウザは安全な設定を持っています
Cookieを許可するか受け入れるかを設定できる場合、修正されているため、Cookieをいつでも使用できることを保証することはできません。さらに、訪問者は意図的にまたは不注意に削除する場合があります
クッキー。訪問者のマシンがブルースクリーンのクラッシュに遭遇した場合、またはハードディスクとインストールシステムを再入力した後、元のCookieが失われます。最後のポイント、はい
一部の初期ブラウザはCookieをサポートしていません。
Cooklieで何ができますか?
Cookieを使用する2つの基本的な方法があります。
1。訪問者のコンピューターにクッキーを書きます(応答コマンドを使用)
2。訪問者のコンピューターからのクッキー(リクエストコマンドを使用)
クッキーの基本的な文法を調理します
Response.Cookies(cookiename)= value
次のコードでは、訪問者のコンピューターでクッキーを作成します。名前= visitorname、value = ken
Response.Cookies(VisitOrname)= Ken
次のコードでは、訪問者のコンピューターでCookieを作成します。名前= Visitorname、value =フォームのユーザー名の値。
Response.Cookies(visitOrname)= request.form(username)
Cookieの基本的な文法を読んでください
request.cookies(cookiename)
要求値を以下のコードを実行した後、Kenscookieの名前のCookie値が取得され、変数MyVarが変数に保存されます。
myvar = request.cookies(kenscookie)
次のコードを実行した後、Kenscookieの名前の判断のCookie値はイエスです。
if request.cookies(kenscookie)=はい
機能的なクッキー
上記のコードを展開して、Cookieの重要な値になります。
Response.Cookies(VisitOrname)(FirstName)= Ken
Response.Cookies(VisitOrname)(lastName)= Baumbach
この例を説明する前に、2つの概念について説明します。コマンドは合意された時間と期限切れです。
ネーミング
他の変数の名前と同様に、それは適切で独自に名付けられたCookieであり、プログラムで一貫性のある使用を助長します。以下の1つまたは2を使用できます
Cookie属性の名前はCookie変数です。
ドメイン属性:ドメイン属性は、どのWebサイトがどのWebサイトから生成または読み取られるかを示します。
必要に応じて変更することもできます。関連するコードは次のとおりです:Response.Cookies(cookiename).domain = www.mydomain.com
パス属性(PATH):パス属性は、より多くのセキュリティ要件を実現できます。例えば:
Response.Cookies(cookiename).path =/maindir/subdir/path
使用時間
通常、ブラウザが閉じている場合、Cookieは存在しません。しかし、多くの場合、たとえば、以下で説明するWebサイトの例については、変更することを望んでいます
訪問者のコンピューターに長い間クッキーを保存します。幸いなことに、そのような実装があります。次のコードは、Cookieの使用を設定するように設定できます
1月1日:
Response.Cookies(cookiename).expires =#2010年1月1日#
次のコードを実行した後、Cookieの有効期限はCookieの作成時間 + 365日に設定されます。
Response.Cookies(cookiename)= date+365
Cookieの実際の例を使用してください(非常にエキサイティング)
ここで、実際の例について説明し始めます。仮定:調査を行う必要があります。
職業はなんですか。 Cookieを使用すると、この問題は非常にうまく解決できますが、データベースを使用する必要はありません。
<%@言語= vbscript%>
<%
survey = request.cookies(kenssurvey)
調査=その場合
Response.Cookies(key)= x
Response.Cookies(key).expires =#2010年1月1日#
Response.Redirect Survey.asp
それ以外
ページの残り
ifを終了します
%>
さて、上記のコードをゼロから説明しましょう。
最初に、初期設定ページ、およびKenssurveyの名前のCookie値を読み取ります。
<%@言語= vbscript%>
> <%
survey = request.cookies(kenssurvey)
次に、クッキー値があるかどうかを判断します。
調査=その場合
存在しない場合は、Cookieを作成してセットアップし、Page Survey.aspに転送します。 現在の訪問中、クッキー値があるため、に転送されません
survey.aspページ。
Response.Cookies(key)= x
Response.Cookies(key).expires =#2010年1月1日#
Response.Redirect Survey.asp
Cookieがすでに存在する場合、訪問者はページ内の残りのコードを実行します。
ページの残り
ifを終了します
%>
例2
別の簡単な例を次に示します。訪問者が特定のサイトを初めて閲覧したとき、歓迎情報を表示します。コードは次のとおりです。
<%@言語= vbscript%>
<%
requestname = request.form(name)
requestlavemealone = request.form(leavemealone)
requestName <>またはrequestLavemeAlone <>の場合
Response.Cookies(mysitevisitorname)= requestname
Response.Cookies(mysitevisitorname).expires = #january 01、2010#
Response.Cookies(MySiteleAvemeAlone)= RequestLaveMealone
Response.Cookies(MySiteleAvemealone).Expires = #January 01、2010#
ifを終了します
visitorname = request.cookies(mysitevisitorname)
leavemealone = request.cookies(mysiteleavemealone)
visitorname =およびleavemealone = thenの場合
%>
<html> <head> < /head>
<body bgcolor =#ccfffffテキスト=ブラックリンク=ネイビーvlink =紫>
<div align = center>
<form action = index.asp method = post>
<h2>友達になりましょう< /h2>
あなたの名前は何ですか(あなたが私たちに知ってほしくないなら、空白のままにして送信ボタンを押してください)?
<入力タイプ=テキスト名= name> <br> <br>
<入力型=非表示名= leavemealone値= x>
<入力タイプ=送信値=送信>
< /form>
< /div>
< /body>
<%
ifを終了します
visitorname <>の場合
Response.write hi、&visitorname&!
ifを終了します
ページの残り
%>
さて、上記のコードが実装されているものを見てみましょう。最初に、ページを設定して、フォーム変数(同じページ)を確認します。フォーム変数が保存されている場合
Cookieの作成と有効期限の設定。
<%@言語= vbscript%>
<%
requestname = request.form(name)
requestlavemealone = request.form(leavemealone)
requestName <>またはrequestLavemeAlone <>の場合
Response.Cookies(mysitevisitorname)= requestname
Response.Cookies(mysitevisitorname).expires = #january 01、2010#
Response.Cookies(MySiteleAvemeAlone)= RequestLaveMealone
Response.Cookies(MySiteleAvemealone).Expires = #January 01、2010#
ifを終了します
次に、Cookieを読みます:
visitorname = request.cookies(mysitevisitorname)
leavemealone = request.cookies(mysiteleavemealone)
訪問者のコンピューターにCookieが存在しない場合は、フォームを作成して、関連する情報を尋ねます。
visitorname =およびleavemealone = thenの場合
%>
<html>
<head>
< /head>
<body bgcolor =#ccfffffテキスト=ブラックリンク=ネイビーvlink =紫>
<div align = center>
<form action = index.asp method = post>
<h2>友達になりましょう< /h2>
あなたの名前は何ですか(あなたが私たちに知ってほしくないなら、空白のままにして送信ボタンを押してください)?
<入力タイプ=テキスト名= name> <br> <br>
<入力型=非表示名= leavemealone値= x>
<入力タイプ=送信値=送信>
< /form>
< /div>
< /body>
<%
ifを終了します
Cookieが存在し、ユーザー名が存在する場合、訪問者にウェルカムインターフェイスを表示し、残りのコードを実行します。
visitorname <>の場合
Response.write hi、&visitorname&!
ifを終了します
ページの残り
%>
上記の例は簡単ですが、多くの創造的なアプリケーションを拡張できます。カスタマイズされたWebサイトのために、フォームに多くの関数を追加できます。
また、訪問者がWebサイトの色とフォントをカスタマイズして、他のWeb要素をカスタマイズすることもできます。可能であれば、訪問者がその日に訪れるとき、訪問者の誕生日に尋ねることができます
当時、あなたは彼にお誕生日おめでとうメッセージを見せることができます。
ご覧のとおり、Cookieのスケーラビリティは無限であり、この記事は単なるレンガです。