ASP アプリケーションでは、Session オブジェクトはユーザーの一時的なプライベート データを保存するためによく使用されます。ASP の Session オブジェクトはブラウザーの Cookie に依存します。ユーザーがセキュリティ上の理由から、または誤って Cookie オプションをオフにすると、ASP は正しく保存できなくなります。ユーザーを識別すると、最終的に Session オブジェクトが正常に使用できなくなります。
後続のプログラムを正しく実行するには、まずクライアント プログラムが Cookie を受け入れるかどうかを識別する必要があります。ただし、ブラウザには Cookie がオフになっているかどうかを識別する方法が用意されていないため、自分でテストする方法を見つける必要があります。
多くの開発者が独自の方法を使用してブラウザの Cookie ステータスをテストしています。最も一般的な方法は、あるページで Cookie を送信し、その Cookie が別のページに存在するかどうかをテストすることです。このように、2 つの ASP リクエストが必要になります。
今回紹介するのはサーバースクリプトとクライアントスクリプトを組み合わせてブラウザの状態を一括テストする方法です。
NetBox は、ASP プログラムを初めて初期化するときに、新しい Session オブジェクトを割り当て、Application.ApplicationID という名前の Cookie をクライアントに送信します。ブラウザが Cookie を受け入れると、次回のアクセス時にこの Cookie を送り返します。サーバーはこの Cookie を受信すると、指定された Session オブジェクトをこの ASP リクエストの Session オブジェクトとして選択し、特定のユーザーに対する Session オブジェクトの一意性と永続性を確保します。
このことから、ブラウザが Application.ApplicationID という名前の Cookie を受け入れるかどうかを判断することで、次のプログラムが続行できるかどうかを判断できることがわかります。ブラウザに Cookie が含まれているかどうかを確認するには、ブラウザの Cookie オブジェクトを使用して完了します。次のコードは、ブラウザが NetBox セッションを受け入れるかどうかをテストするためのものです:
<html>
<本文>
<スクリプト言語="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Not ");
</Script>許可します。
</body>
</html>
このコードの前提条件は、NetBox によって送信された Cookie の名前を知ることです。
iis
で使用する場合は、iis が送信する cookie の名前が起動するたびに異なるため、より困難になります。そのため、テストのために、自分で cookie を送信して、再度テストすることができます。
.Cookie( "CookieCheck")="on"%>
<html>
<本文>
<スクリプト言語="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not ");
</Script>許可します。
</body>
</html>