웹 페이지를위한 방화벽을 설정하는 주요 목적은 Java 스크립트 또는 VB 스크립트를 사용하여 다른 방문자에게 다양한 서비스를 제공하는 것입니다. 그러나 웹 페이지의 소스 코드는 클라이언트의 브라우저에서 볼 수 있으며 방문자는 표면 방화벽 일뿐입니다. ASP는 웹에서 클라이언트/서버 구조의 중간 계층입니다. ASP는 클라이언트에서 볼 수 있지만 ASP는 여전히 특정 취약점을 가지고 있으며 ASP 프로그램의 소스 코드도 볼 수 있습니다. 현재 ASP와 SQL Server의 조합을 통해 간단하고 효율적이며 안정적인 응용 프로그램을 설계 할 수 있습니다. 다음은 설립 과정에 대한 간단한 소개입니다.
1. 로그인을 만듭니다
SQL Server에서 방문자의 로그인 및 비밀번호를 만듭니다.
2. 네트워크 서버에서 데이터베이스 DSN을 만듭니다
제어판의 ODBC 데이터 소스 관리자를 사용하여 데이터베이스의 ODBC 데이터 리소스 이름 인 DSN을 작성하여 데이터베이스 DSN을 사용하여 향후 특정 데이터베이스에 연결할 수 있습니다.
ODBC 데이터 소스 관리자는 세 가지 유형의 DSN, 즉 사용자 DSN, 시스템 DSN 및 파일 DSN을 제공합니다. 그중에서도 사용자 DSN은 해당 구성 정보를 Windows 레지스트리에 저장하지만 DSN을 생성하는 로그인 사용자 만 사용할 수 있습니다. 시스템 DSN은 또한 시스템 레지스트리에 관련 구성 정보를 저장하지만 사용자 DSN과 달리 시스템 DSN을 사용하면 서버에 로그인 한 모든 사용자가이를 사용할 수 있습니다.
위의 두 데이터베이스 DSN과 달리 파일 DSN은 특정 구성 정보를 하드 디스크의 특정 파일에 저장합니다. 파일 DSN은 서버에 로그인 한 모든 사용자가 사용할 수 있으며 사용자 로그인 없이도 데이터베이스 DSN에 액세스 할 수 있습니다. 또한 파일 DSN이 하드 디스크 파일에 저장되므로 다른 시스템에 쉽게 복사 할 수 있습니다. 이러한 방식으로 사용자는 시스템 레지스트리를 변경하지 않고 다른 시스템에서 생성 된 DSN을 사용할 수 있습니다.
위의 세 가지 데이터베이스 DSN 중 사용자가 파일 DSN의 휴대 성을 선호하는 경우 시스템 DSN 또는 파일 DSN을 선택하는 것이 좋습니다.
새 DSN을 만들려면 먼저 ADD를 선택한 다음 사용자가 팝업 창에서 연결을 설정하고 목록에서 SQL Server 항목을 선택하는 데이터베이스 유형을 선택합니다. 사용자가 파일 DSN을 작성하는 경우 다음 버튼을 클릭하고 파일 이름을 입력하고 다음 대화 상자에서 작성하려는 파일 DSN의 경로를 저장하십시오. 사용자가 시스템 DSN을 설정 한 경우 완료 버튼을 클릭하십시오.
데이터베이스를 선택한 후 사용자는 데이터베이스 DSN을 설정해야합니다. 사용자는 데이터베이스 서비스를 제공하는 특정 서버를 선택하고 로그인 사용자 이름 및 비밀번호를 설정하고 사용자가 연결하는 데이터베이스를 설정해야합니다.
III. 프로그래밍
아래에서 구현하려는 것은 간단한 페이지 방화벽의 기능입니다. 이 페이지는이 장치의 인트라넷 사용자 만 액세스하도록 제한합니다 (인트라넷의 IP 주소가 10.61.96에서 10.65.97로 가정합니다). 액세스 사용자 및 비밀번호를 입력해야합니다. 여기서 요청 객체의 ServerVariables 속성을 사용하여 환경 변수의 값을 얻는 데 사용합니다.
프로그램 소스 코드 (Firewall.asp)는 다음과 같습니다.
| HTML t < 머리 > Meta http-equiv = content- 타입 컨텐츠 = 텍스트/html; meta name = Generator Content = Microsoft FrontPage Express 2.0 > < 제목 ew FireWall.asp </Title > > </헤드 > < 신체 배경 =#800080 > <% '요청을 remoteip = request.servervaribles (remote_addr) stip = cstr (remoteip) IP 주소의 세 번째 세그먼트의 값을 가져 와서 Stip에 저장하십시오. i = 1 ~ 2의 경우 stip = right (stip, len (stip) -instr (1, stip,.))))) 다음 stip = 왼쪽 (Stip, Instr (1, stip,.) -1) 'IP 주소 유효성 검증 및 비밀번호 확인 : IP 주소가 요구 사항을 충족하는 경우 IP 주소가 요구 사항을 충족하지 않으면 입력 된 사용자 이름과 암호가 올바른지 확인하십시오. (왼쪽 (remoteip, 5) <> 10.61 또는 스탬프 < 96 또는 스탬프 > 97) username = request.form (t1) password = request.form (t2) set fs = createobject (scripting.filesystemobject) thisfile = fs.opentextfile (dsn.txt) db_loc = thisfile.Readline thisfile.close cnstr = db_loc && uid = && username &&; & pid = & password 다음에 오류가 재개됩니다 cn = server.createobject (adodb.connection) set CN. OPEN CNSTR err = 3709 인 경우 %> font font color =#ff0000 > 죄송합니다. 사용자 : <%= username%> 액세스 권한이 없거나 비밀번호가 잘못되었습니다! < 양식 메소드 = Post method < p align = center > 사용자 이름 : < 입력 유형 = 텍스트 이름 = t1 size = 20 > 비밀번호 : < 입력 유형 = 암호 이름 = t2 크기 = 20 >< 입력 유형 = 제출 값 = 제출 이름 = b1 >< 입력 유형 = 재설정 값 = 모든 이름을 다시 작성하십시오 = B2 > </p > </양식 > <%종료 if cn.close CN = NOTE%%를 설정하십시오 < %else % % 축하합니다. 확인을 통과 했으며이 사이트의 리소스를 직접 사용할 수 있습니다! <%는%end이면 끝납니다 </바디 > </html > |
IP 주소와 같은 위의 정보를 약간 수정 한 후 프로그램을 실행할 수 있습니다.
물론 위의 것은 한 페이지에서 구현 된 방화벽 기능입니다. 웹 사이트에 여러 페이지가있는 경우 사용자를 표시하고 다음 페이지에서 판단 할 수 있도록 세션 변수를 설정할 수 있습니다.