저자 : Li Yanfang 등
sidi.com에서 발췌
웹 페이지의 방화벽을 설정하는 주요 목적은 Java 스크립트 또는 VB 스크립트를 사용하여 다른 방문자에게 다른 서비스를 제공하는 것입니다. 그러나 웹 페이지의 소스 코드는 고객 브라우저에서 볼 수 있습니다. ASP는 웹에서 클라이언트/서버 구조의 중간 계층입니다. 클라이언트의 ASP에 의해, ASP에는 여전히 허점이 있으며 ASP 프로그램의 소스 코드도 볼 수 있습니다. 현재 ASP 및 SQL Server를 통해 간단하고 효율적이며 안정적인 애플리케이션을 설계 할 수 있습니다. 시설 과정을 간단히 소개합시다.
1. 로그인을 설정하십시오
SQL Server에서 방문자 로그인 및 비밀번호를 설정하십시오.
2. 네트워크 서버에서 데이터베이스 DSN을 만듭니다
"제어판"의 "ODBC Data Source Manager"를 사용하여 데이터베이스의 ODBC 데이터 리소스 이름, 즉 DSN을 작성하여 향후 데이터베이스 DSN을 사용하여 특정 데이터베이스를 연결할 수 있도록하십시오.
"ODBC Data Source Manager"는 사용자 DSN, 시스템 DSN 및 파일 DSN 인 3 개의 DSN을 제공합니다. 그중에서도 사용자 DSN은 Windows 레지스트리에 해당 구성 정보를 저장하지만 DSN 로그인 사용자의 생성 만 사용할 수 있습니다. System DSN은 또한 시스템 레지스트리에서 관련 구성 정보를 유지하지만 사용자 DSN과 달리 시스템 DSN을 사용하면 모든 로그인 서버의 모든 사용자가 사용할 수 있습니다.
위의 두 데이터베이스 DSN과 달리 파일 DSN은 특정 구성 정보를 하드 디스크의 특정 파일에 저장합니다. 파일 DSN을 사용하면 모든 사용자가 서버에 로그인 할 수 있으며 사용자 로그인이 없어도 데이터베이스 DSN에 대한 액세스 지원을 제공 할 수도 있습니다. 또한 파일 DSN은 하드 디스크 파일에 저장되므로 다른 시스템에 쉽게 복사 할 수 있습니다. 이러한 방식으로 사용자는 시스템 레지스트리를 변경하지 않고 다른 시스템에서 직접 생성 된 DSN을 사용할 수 있습니다.
위의 3 개의 데이터베이스 DSN에서 사용자는 파일 DSN의 기울기를 선호하는 시스템 DSN 또는 파일 DSN을 선택하는 것이 좋습니다.
새 DSN을 설정하고 사용자는 먼저 "ADD"를 선택한 다음 사용자를 선택하여 POP -UP 창에서 연결된 데이터베이스 유형을 설정하고 목록에서 "SQL Server"항목을 선택합니다. 사용자가 파일 DSN을 생성하는 경우 "다음"버튼을 클릭하고 후속 대화 상자에서 설정할 파일 DSN의 파일 이름과 스토리지 경로를 입력하십시오. 사용자가 시스템 DSN을 빌드하면 "완료"버튼을 클릭하십시오.
데이터베이스를 선택한 후 사용자는 데이터베이스 DSN을 설정해야합니다. 사용자는 데이터베이스 서비스를 제공하기 위해 특정 서버를 선택하고 사용자 이름과 비밀번호를 설정하고 연결될 데이터베이스를 연결해야합니다.
셋째, 프로그래밍
다음은 간단한 페이지 방화벽 기능입니다. 이 페이지는이 장치의 내부 네트워크 사용자만이 방문하도록 제한합니다 (이에 따라 내부 네트워크의 IP 주소는 10.61.96에서 10.65.97입니다). 다음은 요청 객체의 ServerVariables 속성을 통해 환경 변수의 값을 얻을 수 있습니다.
프로그램 소스 코드 (Firewall.asp)는 다음과 같습니다.
<html>
<헤드>
"메타 http-equiv = content- 유형 내용 = text/html; charset = gb_2312-80>
"메타 이름 = 일반 컨텐츠 = Microsoft FrontPage Express 2.0>
<title> Firewall.asp </title>
</head>
"신체 배경 =#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 주소가 충족되지 않으면 입력 입력 사용자 이름과 암호가 올바른 것입니다.
if (왼쪽 (remoteip, 5) <> 10.61 또는 stip <96 또는 stip> 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 &&;
다음에 오류가 재개됩니다
cn = server.createobject (adodb.connection) set
CN. OPEN CNSTR
err = 3709 인 경우 %>
"font color =#ff0000> 죄송합니다. 사용자 : <%= username%> 오른쪽에 액세스하지 않거나 암호가 잘못되었습니다! <br> </font> </p>
"양식 방법 = post"
"p align = center> username :"입력 유형 = 텍스트 이름 = t1 size = 20> 비밀번호 : "입력 유형 = 비밀번호 이름 = t2 size = 20>"입력 유형 = 제출 값 = e = b1> <입력 유형 = 재설정 값 = 모든 재 작성 이름 = B2>
</p>
</form>
<%종료 if
cn.close
cn = nothing%>를 설정하십시오
< %else %>
축하합니다. 확인을 통과했습니다.이 사이트의 리소스를 직접 사용할 수 있습니다!
<%종료 if%>
</body>
</html>
IP 주소와 같은 위의 정보를 약간 수정하면 프로그램이 실행될 수 있습니다.
물론 위의 방화벽 기능은 페이지에서만 실현됩니다. 웹 사이트에 여러 페이지가있는 경우 사용자에게 서명 할 수있는 세션 변수를 설정하고 아래 페이지에서 판단 할 수 있습니다.
참고 : 나는 원본 텍스트를 잘 보지 않았고 친구들이 나를 소개했습니다. 기분이 좋지 않으면 보지 마세요. 어쨌든, 우리는 지금 Dotnet입니다. 본질 하하