Чтобы справиться со скупыми поставщиками космических услуг, все раньше думали об использовании связанных таблиц данных для хранения более крупных баз данных. Теперь позвольте мне рассказать вам еще один метод: использовать код одного форума для запуска двух форумных программ. Это может обойти правила космических служб, которые не позволяют устанавливать два набора форумных программ в одном пространстве на том основании, что загрузка процессора сервера слишком высока.
1. Подготовьте базу данных. Большинство основных программ форумов ASP в Интернете (например, Dongwang Forum 6.1) основаны на базах данных Access. Все сообщения форума, информация о пользователях, настройки форума и т. д. хранятся в файле базы данных. Нам нужно подготовить два файла базы данных форума, а затем позволить программе форума открывать разные файлы базы данных в соответствии с разными условиями.
Загрузите локальный форум на сервер, затем подготовьте две базы данных с именами bbs1.mdb и bbs2.mdb (в целях обеспечения безопасности форума имена файлов можно изменить на более сложные) и загрузите их в / каталог abc/bbs/data/. База данных может использовать либо существующий форум, либо исходную базу данных форума.
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 . Фактически, вы можете использовать этот метод, чтобы открыть более двух форумов, потому что с точки зрения перестановки и комбинации может быть 2 в n степени комбинаций прописных и строчных букв URL-адреса длины 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-адреса меняется при активности посетителя на форуме, для сравнения со строкой «/ABC» используются только первые 4 цифры Whichbbs. Если две строки одинаковы, 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. Используйте другую информацию в качестве критериев оценки в соответствии с вашими потребностями, чтобы создать свой собственный персонализированный и красочный форум.