リクエスト オブジェクトの ServerVariables プロパティを使用するには、それを使用して環境変数の値を取得します。使用される構文は次のとおりです: Request.ServerVariables(variable)。「variable」はサーバーのホスト名、Web サーバー ソフトウェア名などの環境変数の名前を表します。「variable」が「REMOTE_ADDR」の場合、訪問者の IP を表します。 IP アドレス フィルタリングを実装できます。
ソース プログラムは次のとおりです。 (ファイル名:demo.ASP)
以下は参照部分です。
<html>
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<スタイル>
<!--
.as{ 行の高さ: 15px; フォントサイズ: 9pt }
a:hover {color: rgb(0,51,240);text-decoration:underline}
.p9 { font-family: "宋体"; font-size: 9pt;
.p12 { font-family: "宋体"; font-size: 12pt; line-height: 18pt}
a:link { テキスト装飾: なし;}
a:visited { text-decoration:none;}
a:hover {テキスト装飾: 下線;フォントサイズ: 125%;色: ブルー}
-->
</スタイル>
<title>ASPページファイアウォール機能デモ</title>
</頭>
<本文背景=“back.jpg”>
<%
'Request.ServerVariables("REMOTE_ADDR") を使用して IP アドレスを取得し、変数 rip に保存します
rip=Request.ServerVariables(“REMOTE_ADDR”)
ストリップ=cstr(リップ)
'IP アドレスの 3 番目のセグメントの値を取得し、ストリップに保存します
i=1~2の場合
ストリップ=右(ストリップ,len(ストリップ)-instr(1,ストリップ,“.”))
次
ストリップ=左(ストリップ,instr(1,ストリップ,“.”)-1)
IP アドレスの有効性チェックとパスワードの検証には、次の 2 つの側面が含まれます。
'IP アドレスが一致する場合は検証に合格し、IP アドレスが一致しない場合は、入力されたパスワードが正しいかどうかを確認します (ここでのパスワードは「asp」です)。
if (left(rip,5) <> “127.1” または ストリップ<“1” または ストリップ>“50”) and request(“Passwd”) <>“asp” then
%>
<p><font color="#FF0000">申し訳ありませんが、あなたの IP は <%=rip%> です。このページでアクセスできる IP は 127.1.1.* ~ 127.1.50.* です。会社のイントラネットのユーザーは、ブラウザがプロキシを使用していないことを確認してください。<BR></font></p>
<フォームアクション=”demo.asp” メソッド=”POST” id=form1 name=form1>
<p>アクセスパスワードを入力してください: <input type="password" name="Passwd" > <input type="submit" value="confirm" name="B1">;
</p>
</フォーム>
<%else%>
'正規のユーザーがアクセスでき、あらゆる情報を追加できるページ
おめでとうございます。ページのセキュリティ認定に合格し、このサイトのリソースを直接使用できるようになりました。
<%end if%>
</本文>
</html>
実際の使用では、上記のプログラムを少し変更するだけで済みます (IP アドレスやその他の情報など)。もちろん、これは 1 つのページにセキュリティ機能を実装するだけです。Web サイトに複数のページがある場合は、セッション変数を設定することができます。以降のページで判定するユーザーフラグを制御します。