인색한 공간 서비스 제공업체를 상대하기 위해 모든 사람들은 연결된 데이터 테이블을 사용하여 더 큰 데이터베이스를 저장하는 것을 생각하곤 했습니다. 이제 다른 방법을 알려드리겠습니다. 하나의 포럼 코드를 사용하여 두 개의 포럼 프로그램을 실행하는 것입니다. 이는 서버 CPU 사용량이 너무 높다는 이유로 한 공간에 두 개의 포럼 프로그램을 설치하는 것을 허용하지 않는 공간 서비스 규정을 우회할 수 있습니다.
1. 데이터베이스 준비 인터넷의 주요 ASP 포럼 프로그램(예: Dongwang Forum 6.1)의 대부분은 Access 데이터베이스를 기반으로 합니다. 모든 포럼 게시물, 사용자 정보, 포럼 설정 등은 데이터베이스 파일에 저장됩니다. 우리는 두 개의 포럼 데이터베이스 파일을 준비한 다음 포럼 프로그램이 다른 조건에 따라 다른 데이터베이스 파일을 열도록 해야 합니다.
로컬 포럼을 서버에 업로드한 후 bbs1.mdb 및 bbs2.mdb라는 두 개의 데이터베이스를 준비하고(포럼의 보안을 보장하기 위해 파일 이름을 더 복잡하게 변경할 수 있음) 서버의 / abc/bbs/데이터/디렉토리. 데이터베이스는 기존 포럼이나 포럼의 초기 데이터베이스를 사용할 수 있습니다.
2. 결정 조건 포럼 입장을 결정하는 데에는 방문자의 IP 주소, 운영 체제, 포럼 접속 시간 등 다양한 조건이 사용됩니다. 여기서 작성자는 방문자가 제출한 URL 주소를 사용합니다.
포럼에는 "www.cpcw.com" 및 "WWW.CPCW.COM"과 같은 두 개의 다른 주소가 있을 수 있습니다. 두 URL은 컴퓨터 신문 웹사이트를 가리키지만 VbScript의 관점에서는 대문자이므로 두 개의 다른 ASCII 문자열입니다. 소문자는 다른 문자로 인식됩니다. 따라서 대소문자가 다른 두 개의 주소를 판단 조건으로 사용할 수 있습니다.
Request.ServerVariables는 환경 변수를 얻기 위한 ASP 내장 개체입니다. Request.ServerVariables("SCRIPT_NAME") 코드의 값은 현재 실행되는 ASP 페이지의 경로입니다. 예를 들어, http://www.scat.com/aBc/test.asp (대소문자 주의!)에 액세스할 때 Request.ServerVariables("SCRIPT_NAME")의 값은 "/aBc/test.asp"입니다.
우리는 두 포럼의 주소가 http://www.scat.com/ABC/bbs 및 http://www.scat.com/abc/bbs 라고 규정합니다. 실제로 이 방법을 사용하면 두 개 이상의 포럼을 열 수 있습니다. 순열과 조합의 관점에서 길이가 n인 URL의 대문자와 소문자 조합이 2의 n제곱이 될 수 있기 때문입니다!
3. 프로그래밍의 편의를 위해 이제 대부분의 ASP 포럼 프로그램에는 conn.asp에 분리되어 배치된 데이터베이스 개체를 여는 코드가 있습니다. 이는 다음 작업에 편리함을 제공합니다.
텍스트 편집기로 conn.asp를 열고 다음 코드를 찾습니다:
Dim Db
'무료 사용자의 경우 처음으로 로컬 데이터베이스 주소를 수정하십시오...
DB="datadvbbs6.mdb"
프로그램은 변수 Db를 정의합니다. , 데이터베이스의 상대 주소가 이 문자열 변수에 할당됩니다. 이 변수의 값은 나중에 프로그램이 데이터베이스 개체를 열 때 사용됩니다.
이 줄을 다음과 같이 변경합니다:
Dim Db
Dim whichbbs
whichbbs =Request.ServerVariables("SCRIPT_NAME ")
if left(Whichbbs, 4)="/ABC" then '왼쪽 함수를 사용하여 확인에 필요한 길이의 문자열을 가로채기
Db= " /data/bbs1.mdb"
else
Db="/data/bbs2.mdb"
end if
이 코드의 의미는 방문자가 제출한 주소를 whichbbs 변수에 할당하는 것입니다. 방문자가 포럼에서 활동할 때 URL 주소의 후반부가 변경되므로, whichbbs의 처음 4자리만 "/ABC" 문자열과 비교하는 데 사용됩니다. 두 문자열이 동일하면 Db에 "/data/bbs1.mdb" 값이 할당되고, 그렇지 않으면 Db에 "/data/bbs2.mdb" 값이 할당됩니다. 그러면 Db에 해당하는 데이터베이스가 열립니다. 방문자가 제출한 주소가 http://asp2.6to23.com/ABC 인 경우 포럼 시스템은 bbs1.mdb의 데이터베이스를 열고 방문자가 bbs1.mdb의 포럼에 들어갈 수 있도록 허용하며 그렇지 않으면 bbs2.mdb를 엽니다. 포럼에 bbs2.mdb를 입력합니다.
이런 방식으로 하나의 공간에 하나 이상의 포럼을 설정할 수 있으며, 두 개의 독립적인 포럼 시스템을 별도로 설정하는 것보다 서버 리소스 사용량이 훨씬 적습니다.
이 방법은 다음과 같이 확장될 수도 있습니다.
1. 뉴스 시스템, 다운로드 시스템, 게시판, 카운터 등과 같이 데이터베이스 작업과 관련된 다른 ASP 프로그램에 적용합니다.
2. 방문자의 IP 주소를 판단 조건(Request.ServerVariables("REMOTE_ADDR"))으로 위장하고 더욱 은밀한 IP 필터링을 생성하여 원하지 않는 사람들이 실제 포럼에서 자신도 모르게 격리되도록 합니다.
3. 자신의 필요에 따라 기타 정보를 판단 기준으로 사용하여 나만의 개인화되고 다채로운 포럼을 만드십시오.