Direkomendasikan: Asp Class A Tag Engine Tagengine.class Kelas ASP yang digunakan untuk mengimplementasikan fungsi tag, Anda dapat memahami fungsi spesifik jika Anda dapat memahaminya. Catatan Modifikasi: 1, Tambahkan Fungsi Ekstensi, 2006-12-3 % '*************************' Nama Kelas: Tagengine 'Nama: Tag Engine' Tanggal: 2006-11-29 'Penulis: Xilou Lengyue' Situs web: www.xilou.net | www.
Penulis sangat teliti sehingga ia merangkum semua hal ini ke dalam kelas. Ini agak berakhir. Hal -hal ini dapat dienkapsulasi sebagai proses atau fungsi. Sub dan fungsi juga dienkapsulasi, dan tidak harus menjadi kelas. Perpustakaan file Anda belum tentu semua kelas, beberapa sub dan fungsi diperlukan.
Fungsi yang diimplementasikan termasuk
1. ShowInfo (e_title, c_url, e_num, e_des, e_time, opera, ip, reurl): Pesan kesalahan tampilan
2. Getip (): dapatkan IP klien
3. CheckPost (): Verifikasi apakah itu pengiriman di luar situs
4. GetReferer (): The Origin Record
5. getCururl (): Dapatkan jalur halaman saat ini
6, Isrefresh (S1, S2, MaxTimes): Anti-Refresh
Kode Lengkap:
<%
'***********************************
'Nama: EventProvider (kelas acara)
'Tanggal: 2006/11/24
'Penulis: Leng Yue, Xilou
'Situs web: www.cuoxin.com
'Deskripsi: tidak ada
'Hak Cipta: Silakan merujuk ke sumber untuk mencetak ulang, penulis
'***********************************
'Terakhir dimodifikasi: 2006/11/24
Jumlah modifikasi: 0
'Instruksi Modifikasi: Tidak Ada
Versi saat ini: v1.0.0
'***********************************
Class EventProvider
Nama tabel logdbname pribadi
'www.cuoxin.com Design Home
'Inisialisasi
Private sub class_initialize ()
LOGDBNAME = LOGINFO
Akhir sub
'
Private Sub Class_Terminate ()
Akhir sub
'Judul acara yang telah ditentukan sebelumnya, atau jenis
Fungsi Publik Eventtitles (Typepenum)
Dim arrtype (9)
ARRTYPE (0) = Acara Tidak Diketahui
arrtype (1) = login pengguna ilegal
ARRTYPE (2) = URL melewati parameter ilegal
arrtype (3) = login dan lulus dalam karakter ilegal
ARRTYPE (4) = Login Sering, jumlah login melebihi waktu yang ditentukan
arrtype (5) = kueri karakter ilegal yang masuk
ARRTYPE (6) = Permintaan yang sering, jumlah waktu kueri melebihi waktu yang ditentukan
arrtype (7) = Halaman sering disegarkan, dan jumlah penyegaran melebihi waktu yang ditentukan
ARRTYPE (8) = data pengiriman di luar situs
arrtype (9) = login backend
Jika tidak isnumeric (typepenum) maka eventtitles = acara yang tidak diketahui: fungsi keluar
Jika clng (abs (typenum))> ubound (arrtype) maka
EventTitles = Acara Tidak Diketahui: Fungsi Keluar
Akhiri jika
EventTitles = arrtype (typepenum)
Fungsi akhir
'Kesalahan tampilan array pre-order
Sub Subarrayinfo Publik (InfoItems, Infovalues)
Redup str
str = <div style = 'border: 2px solid #4e4e9c; font-family: arial; warna: #800040; lebar: 50%; ukuran font: 9pt'>
str = str & <ul style = 'margin: 20px;'> <b> Informasi acara ASP: </b> & vbcrlf
Jika isArray (infoItems) dan isArray (infovalues) maka
Untuk i = lbound (infoItems) ke ubound (infoItems)
str = str & <li> <b style = 'color:#4e4e9c'> & infoItems (i) &: </b> & infovalues (i) & vbcrlf
Berikutnya
Kalau tidak
str = str & <li> <b> & infoItems & </b>: & Infovalues & vbcrlf
Akhiri jika
str = str & </ul> </div> & vbcrlf
Response.write str
Akhir sub
'Tampilkan kesalahan
Sub showinfo publik (e_title, c_url, e_num, e_des, e_time, opera, ip, reurl)
Redup InfoItems, Infovalues
infoItems = array (judul acara, URL acara, EventNumber, EventDescription, _
Waktu acara, operator, IP, referer URL_
)
infovalues = array (e_title, c_url, e_num, e_des, e_time, opera, ip, reurl)
showarrayinfo infoItems, infovalues
Akhir sub
'Tampilkan informasi tentang file asli
Sub SuboriInfo publik (oriclass, ornamunction, ornipage)
Redup InfoItems, Infovalues
infoItems = array (kelas asli, fungsi asli, halaman asli)
Infovalues = Array (Oriclass, Orifunction, Oripage)
showarrayinfo infoItems, infovalues
Akhir sub
'Dapatkan IP
Fungsi publik getip ()
Redup ip
'Jika klien menggunakan server proxy, itu harus menggunakan metode serverVariable (http_x_forwarded_for)
Ip = request.serverVariable (http_x_forwarded_for)
Jika ip = atau isnull (ip) atau isempty (ip) maka
'Jika klien tidak menggunakan proxy, metode request.servarible (remote_addr) harus digunakan
Ip = request.serverVariable (remote_addr)
akhiri jika
getip = ip
Fungsi akhir
'Verifikasi pengiriman di luar situs
Fungsi Publik Pemeriksa ()
Dim Server_V1, Server_V2
checkpost = false
server_v1 = cstr (request.serverVariable (http_referer))
server_v2 = cstr (request.serverVariable (server_name))
Jika mid (server_v1,8, len (server_v2)) = server_v2 lalu checkpost = true
Fungsi akhir
'Dapatkan jalannya
Fungsi publik getReferer ()
getReferer = request.serverVariables (http_referer)
Fungsi akhir
'Dapatkan URL browser saat ini
Fungsi publik getCururl ()
Jika request.servervariable (https) = aktif
GetCurrentUrl = https: //
Kalau tidak
GetCurrentUrl = http: //
Akhiri jika
GetCururl = getCururl & request.serverVariable (server_name)
If (request.serverVariable (server_port) <> 80) kemudian getCurUrl = getCurUrl &: & request.serverVariable (server_port)
GetCurUrl = getCururl & request.servarivleBle (URL)
If (request.querystring <>) lalu getCurUrl = getCururl &? & Request.querystring
Fungsi akhir
'Dapatkan sumbernya atau dapatkan URL browser saat ini, komprehensif dua yang pertama
Fungsi publik getUrl (t)
Jika t = 1 maka
getUrl = getCurUrl ()
Kalau tidak
getUrl = getReferer ()
Akhiri jika
Fungsi akhir
'Anti-refresh
'S1: Akses diizinkan setelah lebih dari S1 detik
'S2: Jika waktu saat ini dan waktu akses terakhir berbeda dari S2 detik, itu akan dianggap sering disegarkan
'MaxTimes: Jika jumlah penyegaran yang sering sama dengan atau lebih besar dari maxTimes, rekam
'Jika sering menyegarkan, isRefresh = true, jika tidak itu salah
Fungsi Publik Isrefresh (S1, S2, MaxTimes)
Cachename redup
Cachename = EventProvider_2006
Jika isDate (sesi (Cachename & Isrefreshtime)) maka 'Access diizinkan setelah S1 detik
Jika tanggal (S, sesi (Cachename & Isrefreshtime), sekarang ())> S1 lalu
Sesi (Cachename & IsrefreshTime) = sekarang ()
Sesi (Cachename & Isrefresh) = false
Akhiri jika
Akhiri jika
Jika sesi (Cachename & Isrefresh) = true maka
isRefresh = true
Kalau tidak
isRefresh = false
Akhiri jika
Jika ISDate (sesi (Cachename & Refreshstart)) lalu
Jika tanggal (S, sesi (Cachename & Refreshstart), sekarang ()) <S2 maka '// Jika waktu saat ini dan waktu akses terakhir berbeda dari S2 detik, itu akan dianggap sering disegarkan
Sesi (Cachename & Refresht) = Sesi (Cachename & Refresht) +1 '// Statistik Jumlah Refresh yang Sering
Jika sesi (Cachename & Refresht)> = maxTimes maka '// Jika waktu penyegaran frekuensi sama dengan atau lebih besar dari maxTimes, rekam
Sesi (Cachename & Isrefresh) = Benar
Sesi (Cachename & IsrefreshTime) = sekarang ()
Akhiri jika
Kalau tidak
Sesi (Cachename & Refresht) = 0 '// Jika tidak, ubah jumlah catatan yang sering menjadi 0
Akhiri jika
Akhiri jika
Sesi (Cachename & Refreshstart) = Now () '// Cadangan waktu untuk kunjungan ini sampai kunjungan berikutnya
Fungsi akhir
'Menulis ke Log Basis Data
Sub WriteToDB publik (e_title, c_url, e_num, e_des, e_time, opera, ip, reurl, conn)
Redup SQL
sql = masukkan ke & logdbname & (etitle, eurl, enum, edes, etime, operator, ip, refererUrl) nilai (
sql = sql & '& e_title &', '& c_url &', '& e_num &', '& e_des &', '& e_time &', '& opera &', '& ip &', '& reurl &')
Conn.execute (SQL)
Akhir sub
Kelas akhir
%>
Bagikan: ASP+AJAX tidak mencapai penyegaran untuk menambahkan teman Karena hubungan kerja, salah satu fungsinya adalah meningkatkan pihak lain sebagai teman. Seperti yang ditunjukkan pada gambar: Metode yang digunakan adalah AJAX, dan kode yang sesuai lebih murah: HREF = JavaScript: void (0); OnClick = add_username (' %= rs (nama pengguna) %'); Tambahkan sebagai teman/A, verifikasi JS yang digunakan: bahasa skrip = JavaScript src = Ajax.