요청 개체의 ServerVariables 속성을 사용하려면 이를 사용하여 환경 변수 값을 가져옵니다. 사용된 구문은 다음과 같습니다. Request.ServerVariables(변수), "변수"는 서버 호스트 이름, 웹 서버 소프트웨어 이름 등과 같은 환경 변수의 이름을 나타냅니다. "변수"가 "REMOTE_ADDR"인 경우 방문자의 IP를 나타냅니다. 주소를 통해 IP 주소 필터링을 구현할 수 있습니다.
소스 프로그램은 다음과 같습니다. (파일 이름: 데모.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 {색상: rgb(0,51,240);텍스트 장식:밑줄}
.p9 { 글꼴 계열: "宋体"; 글꼴 크기: 9pt;
.p12 { 글꼴 계열: "宋体"; 글꼴 크기: 12pt; 줄 높이: 18pt}
a:링크 { 텍스트 장식: 없음;}
a:방문함 { 텍스트 장식:없음;}
a:hover {텍스트 장식: 밑줄;글꼴 크기: 125%;색상:파란색}
-->
</스타일>
<title>ASP 페이지 방화벽 기능 시연</title>
</머리>
<본체 배경=“back.jpg”>
<%
'Request.ServerVariables("REMOTE_ADDR")를 사용하여 IP 주소를 가져와 변수 rip에 저장합니다.
rip=Request.ServerVariables(“REMOTE_ADDR”)
스트립=cstr(찢음)
'IP 주소의 세 번째 세그먼트 값을 가져와서 스트립에 저장합니다.
i=1~2인 경우
스트립=오른쪽(스트립,len(스트립)-instr(1,스트립,“.”))
다음
스트립=왼쪽(스트립,instr(1,스트립,“.”)-1)
'IP 주소 유효성 확인과 비밀번호 확인에는 두 가지 측면이 포함됩니다.
'IP 주소가 일치하면 확인이 통과되고, IP 주소가 일치하지 않으면 입력한 비밀번호가 올바른지 확인하세요(여기서 비밀번호는 "asp"입니다).
if (왼쪽(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 이름=form1>
<p>액세스 비밀번호를 입력하세요: <input type="password" name="Passwd" > <input type="submit" value="Confirm" name="B1">;
</p>
</양식>
<%다른%>
'합법적인 사용자가 접속할 수 있고, 어떠한 정보도 추가할 수 있는 페이지'
축하합니다. 페이지의 보안 인증을 성공적으로 통과했으며 이 사이트의 리소스를 직접 사용할 수 있습니다!
<%종료%%>
</본문>
</html>
실제 사용에서는 위 프로그램(예: IP 주소 및 기타 정보)을 약간만 수정하면 됩니다. 물론 이는 한 페이지의 보안 기능만 구현하는 것입니다. 웹사이트에 여러 페이지가 있는 경우 세션 변수를 다음과 같이 설정할 수 있습니다. 다음 페이지에서 판단할 사용자 플래그를 제어합니다.