Untuk menghadapi penyedia layanan ruang angkasa yang pelit, semua orang biasanya berpikir untuk menggunakan tabel data tertaut untuk menyimpan database yang lebih besar. Sekarang izinkan saya memberi tahu Anda metode lain: gunakan kode dari satu forum untuk menjalankan dua program forum. Hal ini dapat menghindari peraturan layanan ruang angkasa yang tidak mengizinkan dua set program forum diatur dalam satu ruang dengan alasan penggunaan CPU server terlalu tinggi.
1. Siapkan database. Sebagian besar program forum ASP mainstream di Internet (seperti Dongwang Forum 6.1) didasarkan pada database Access. Semua postingan forum, informasi pengguna, pengaturan forum, dll. disimpan dalam file database. Kita perlu menyiapkan dua file database forum, dan kemudian membiarkan program forum membuka file database yang berbeda sesuai dengan kondisi yang berbeda.
Unggah forum lokal ke server, lalu siapkan dua database bernama bbs1.mdb dan bbs2.mdb (untuk menjamin keamanan forum, nama file dapat diubah menjadi lebih rumit), dan unggah ke / server direktori abc/bbs/data/. Basis datanya bisa menggunakan forum yang sudah ada atau basis data awal forum tersebut.
2. Kondisi Penentuan Ada banyak kondisi yang digunakan untuk menentukan masuk ke forum, seperti alamat IP pengunjung, sistem operasi, waktu mengakses forum, dll. Disini penulis menggunakan alamat URL yang dikirimkan oleh pengunjung.
Sebuah forum mungkin memiliki dua alamat yang berbeda, seperti "www.cpcw.com" dan "WWW.CPCW.COM". Meskipun kedua URL tersebut mengarah ke situs web surat kabar komputer, dalam pandangan VbScript keduanya adalah String ASCII yang berbeda karena huruf besar. dan huruf kecil dikenali sebagai karakter yang berbeda. Oleh karena itu, dua alamat dengan huruf besar dan kecil yang berbeda dapat digunakan sebagai kondisi penilaian.
Request.ServerVariables adalah objek bawaan ASP untuk mendapatkan variabel lingkungan. Nilai kode Request.ServerVariables("SCRIPT_NAME") adalah jalur halaman ASP yang sedang dijalankan. Misalnya, saat mengakses http://www.scat.com/aBc/test.asp (perhatikan kasusnya!), nilai Request.ServerVariables("SCRIPT_NAME") adalah: "/aBc/test.asp".
Kami menetapkan bahwa alamat kedua forum tersebut adalah http://www.scat.com/ABC/bbs dan http://www.scat.com/abc/bbs . Faktanya, Anda dapat menggunakan metode ini untuk membuka lebih dari dua forum, karena dari sudut pandang permutasi dan kombinasi, mungkin terdapat 2 pangkat n kombinasi huruf besar dan kecil dari sebuah URL dengan panjang n!
3. Memodifikasi program forum. Untuk kenyamanan pemrograman, sebagian besar program forum ASP sekarang memiliki kode untuk membuka objek database yang dipisahkan dan ditempatkan di conn.asp. Halaman lain mengakses database dengan mereferensikan file ini. Hal ini memberikan kemudahan untuk operasional kami selanjutnya.
Buka conn.asp dengan editor teks dan temukan kode berikut:
Dim Db
'Untuk pengguna gratis, silakan ubah alamat database lokal untuk pertama kalinya...
DB="datadvbbs6.mdb"
Program mendefinisikan variabel Db , alamat relatif database ditetapkan ke variabel string ini. Nilai variabel ini nantinya akan digunakan ketika program membuka objek database.
Kami mengubah baris ini menjadi:
Dim Db
Dim Wherebbs
Wherebbs =Request.ServerVariables("SCRIPT_NAME ")
if left(Whichbbs, 4)="/ABC" lalu 'Gunakan fungsi kiri untuk mencegat string dengan panjang yang diperlukan untuk verifikasi
Db= " /data/bbs1.mdb"
else
Db="/data/bbs2.mdb"
end if
Maksud dari kode ini adalah untuk menetapkan alamat yang dikirimkan oleh pengunjung ke variabel Wherebbs. Karena paruh kedua alamat URL berubah ketika pengunjung aktif di forum, hanya 4 digit pertama Wherebbs yang digunakan untuk perbandingan dengan string "/ABC". Jika kedua stringnya sama, Db diberi nilai "/data/bbs1.mdb"; jika tidak, Db diberi nilai "/data/bbs2.mdb". Kemudian database yang sesuai dengan Db akan dibuka. Jika alamat yang dikirimkan oleh pengunjung adalah http://asp2.6to23.com/ABC , sistem forum akan membuka database bbs1.mdb dan mengizinkan pengunjung untuk masuk ke forum di bbs1.mdb; jika tidak, maka akan terbuka bbs2.mdb dan masuk ke bbs2.mdb di forum.
Dengan cara ini, Anda dapat mengatur lebih dari satu forum dalam satu ruang, dan penggunaan sumber daya server jauh lebih kecil daripada menyiapkan dua sistem forum independen secara terpisah.
Metode ini juga dapat diperluas:
1. Berlaku untuk program ASP lain yang melibatkan operasi database, seperti sistem berita, sistem download, papan pesan, counter, dll.
2. Gunakan alamat IP pengunjung sebagai kondisi penilaian (Request.ServerVariables("REMOTE_ADDR")) untuk membuat pemfilteran IP yang tersamar dan lebih terselubung, sehingga orang yang tidak diinginkan secara tidak sadar terisolasi dari forum sebenarnya.
3. Gunakan informasi lain sebagai kriteria penilaian sesuai dengan kebutuhan Anda untuk membuat forum Anda sendiri yang dipersonalisasi dan penuh warna.