主に、環境変数の値が取得されるリクエストオブジェクトのServerVariablesプロパティを使用します。使用される構文は、request.servervariables(変数)、「変数」は、サーバーホスト名、Webサーバーソフトウェア名などの環境変数の名前を表します。「変数」が「remote_addr」の場合、訪問者のIPアドレスを表し、IPアドレスのフィルターを達成できます。
ソースプログラムは次のとおりです。(ファイル名:demo.asp)
<html>
<head>
<metahttp-equiv = content-typecontent = text/html; charset = gb_2312-80>
<metaname = generatorContent = microsoftfrontpageExpress2.0>
<style>
<! -
.as {line-height:15px; font-size:9pt}
A:Hover {color:rgb(0,51,240);テキストゼア:アンダーライン}
.p9 {font-family:安安; font-size:9pt; line-height:15pt}
.p12 {font-family:安安; font-size:12pt; line-height:18pt}
a:link {テキストデコレーション:なし;}
A:訪問{テキストデコレーション:なし;}
A:Hover {Text-Decoration:underline; font-size:125%; color:blue}
- >
</style>
<Title> ASPページファイアウォール機能デモ</title>
</head>
<ボディバックグラウンド= back.jpg>
<%
'request.servervariables(remote_addr)を使用してIPアドレスを取得し、変数RIPに保存します
rip = request.servervariables(remote_addr)
ストリップ= CSTR(RIP)
「IPアドレスの3番目のセグメントの値を取得し、それを保存してストリップします
fori = 1to2
ストリップ=右(ストリップ、レン(ストリップ)-Instr(1、ストリップ、。))))
次
ストリップ=左(str、str(1、str、。)-1)
'IPアドレスの妥当性の検証とパスワード検証、2つの側面を含む:
'IPアドレスが値を満たしている場合は、検証を渡します。 IPアドレスが値を満たしていない場合は、入力されたパスワードが正しいかどうかを確認します(ここではパスワードがASPです)
if(left(rip、5)<> 127.1orstrip <1orstrip> 50)andRequest(passwd)<> aspthen
%>
<p> <fontcolor =#ff0000>申し訳ありませんが、IPは<%= RIP%>であり、このページでアクセスできるIPSは127.1.1。*および127.1.50。*の間です。このユニットの内部ネットワークのユーザーである場合は、ブラウザがプロキシを使用しないことを確認してください! <br> </font> </p>
<formaction = demo.aspmethod = postid = form1name = form1>
<p>アクセスパスワードを入力してください:<inputtype = passwordname = passwd> <inputtype = submitvalue = confism name = b1>;
</p>
</form>
<%else%>
'法務ユーザーがアクセスできるページ、あらゆる情報をここに追加できます
おめでとうございます、ページセキュリティ認証に成功し、このサイトのリソースを直接使用できます!
<%endif%>
</body>
</html>
実際、上記のプログラム(IPアドレスやその他の情報など)をわずかに変更します。もちろん、これはセキュリティ防止機能を1つのページに実装します。 Webサイトに複数のページがある場合、セッション変数を設定してユーザーにマークを付けて、後続のページで判断を下すことができます。