Empfohlen: ASP -Klasse -A -Tag -Engine -Klasse TagEngine.class Eine ASP -Klasse, die zur Implementierung der Tag -Funktion verwendet wird, können Sie die spezifischen Funktionen verstehen, wenn Sie sie verstehen können. Änderungsdatensatz: 1, Erweiterungsfunktion hinzufügen, 2006-12-3 % '********************************** www.
Der Autor ist so akribisch, dass er all diese Dinge in Klassen zusammenfasst. Es ist ein bisschen vorbei. Diese Dinge können als Prozesse oder Funktionen eingekapselt werden. Sub und Funktion sind ebenfalls verkapselt und muss keine Klasse sein. Ihre Dateibibliothek ist nicht unbedingt die gesamte Klasse, ein Teil und eine Funktion sind erforderlich.
Die implementierten Funktionen umfassen
1. ShowInfo (e_title, c_url, e_num, e_des, e_time, Opera, IP, Reurl): Fehlermeldung anzeigen
2. Getip (): Erhalten Sie die Client -IP
3. checkpost (): Überprüfen Sie, ob es sich um eine Einreichung außerhalb des Standorts handelt
4. GetReferer (): Der Ursprungsaufzeichnung
5. getCururl (): Holen Sie sich den aktuellen Seitenweg
6, Isrefresh (S1, S2, Maxtimes): Anti-Refresh
Vollständiger Code:
<%
'*********************************
'Name: EventProvider (Ereignisklasse)
'Datum: 2006/11/24
'Autor: Leng Yue, Xilou
'Website: www.cuoxin.com
'Beschreibung: Keine
'Copyright: Bitte beachten Sie die Quelle zum Nachdruck, Autor
'*********************************
'Last Modified: 2006/11/24
'Anzahl der Modifikationen: 0
'Änderungsanweisungen: Keine
'Aktuelle Version: v1.0.0
'*********************************
Klasse EventProvider
Private logdbname 'log table Name Name
'www.cuoxin.com Design Home
'Initialisierung
Private sub class_initialize ()
LOGDBNAME = loginfo
Ende sub
''
Private sub class_terate ()
Ende sub
'Der Titel des vordefinierten Ereignisses oder eines Typs
Öffentliche Funktionen Eventtitles (typenum)
Dimer ArrtyPe (9)
ArrtyPe (0) = Unbekanntes Ereignis
ArrtyPe (1) = Illegale Benutzeranmeldung
ArrtyPe (2) = URL überträgt illegale Parameter
ArrtyPe (3) = Login und Passing in illegalen Zeichen
ArrtyPe (4) = Anmeldung häufig überschreitet die Anzahl der Anmeldungen die angegebene Zeit
ArrtyPe (5) = Abfragen eingehender illegaler Zeichen
ArrtyPe (6) = Häufige Abfrage, die Anzahl der Abfragezeiten überschreitet die angegebene Zeit
ArrtyPe (7) = Die Seite wird häufig aktualisiert und die Anzahl der Aktualisierungen überschreitet die angegebene Zeit
ArrtyPe (8) = Submission-Daten außerhalb des Standorts
ArrtyPe (9) = Backend Login
Wenn nicht isnumerisch (typepenum), dann EventTitles = Unbekanntes Ereignis: Beendenfunktion
Wenn clng (ABS (typenum))> Ubound (ArrtyPe) dann
EventTitles = Unbekanntes Ereignis: Beendenfunktion
Ende wenn
EventTitles = ArrtyPe (typenum)
Endfunktion
'Der vorbestellte Array-Anzeigefehler
Public Sub ShowarrayInfo (InfoItems, Infovalues)
Dim str
STR = <Div style = 'Border: 2px Solid #4e4e9c; Schriftfamilie: Arial; Farbe: #800040; Breite: 50%; Schriftgröße: 9PT'>
STR = STR & <ul style = 'margin: 20px;'> <b> ASP -Ereignisinformationen: </b> & vbcrlf
Wenn Isarray (infoitems) und Isarray (Infovalues) dann
Für i = lBound (infoItems) bis uBound (infoItems)
STR = STR & <li> <b style = 'color:#4e4e9c'> & infoitems (i) &: </b> & infovalues (i) & vbcrlf
Nächste
Anders
STR = STR & <li> <b> & infoitems & </b>: & infovalues & vbcrlf
Ende wenn
STR = STR & </ul> </div> & vbcrlf
Antwort.Write str
Ende sub
'Fehler zeigen
Public sub showInfo (e_title, c_url, e_num, e_des, e_time, Opera, IP, Reurl)
DIM -InfoItems, Infovalues
infoItems = array (Ereignis Titel, Ereignis -URL, Eventnumber, EventDescription, _
Eventtime, Operator, IP, Referer URL_
)
Infovalues = Array (e_title, c_url, e_num, e_des, e_time, Opera, ip, reurl)
ShowArrayInfo InfoItems, Infovalues
Ende sub
'Informationen zur Originaldatei anzeigen
Öffentliche Subshoworiinfo (Oriclass, Orifunktion, Oripage)
DIM -InfoItems, Infovalues
InfoItems = Array (Originalklasse, Originalfunktion, Originalseite)
Infovalues = Array (Oriclass, Orifunktion, Oripage)
ShowArrayInfo InfoItems, Infovalues
Ende sub
'Holen Sie sich IP
Öffentliche Funktion getip ()
Dim ip
„Wenn der Client einen Proxy -Server verwendet, sollte er die Methode ServerVariable (http_x_forwarded_for) verwenden
Ip = request.servervariables (http_x_forwarded_for)
Wenn IP = oder ISNull (IP) oder IsEmpty (IP) dann
'Wenn der Client keinen Proxy verwendet, sollte die Anforderung verwendet werden.
IP = Request.Servervariables (Remote_addr)
Ende wenn
getIp = ip
Endfunktion
'Außenübertragungsüberprüfung
Öffentliche Funktion checkpost ()
DIM Server_v1, Server_v2
checkpost = false
server_v1 = cstr (request.servervariables (http_referer)))
server_v2 = cstr (request.servervariables (server_name))
Wenn MID (Server_v1,8, Len (Server_v2)) = Server_v2, checkPost = true
Endfunktion
»Holen Sie sich den Weg
Öffentliche Funktion getreferer ()
getReferer = request.servervariables (http_referer)
Endfunktion
'Holen Sie sich die aktuelle URL des Browsers
Öffentliche Funktion getCururl ()
Wenn request.Servervariables (https) = on then the the the the the
GetCurrenturl = https: //
Anders
GetCurrenturl = http: //
Ende wenn
GetCururl = getCururl & request.servervariables (server_name)
If (request.servervariables (server_port) <> 80) dann getCururl = getCururl &: & request.servervariables (server_port)
GetCururl = getCururl & request.servervariables (URL)
If (Request.queryString <>) dann getCururl = getCururl &? & Request.queryString
Endfunktion
»Holen Sie sich die Quelle oder holen Sie sich die aktuelle URL des Browsers, umfassen die ersten beiden
Öffentliche Funktion geturl (t)
Wenn t = 1 dann
Geturl = getCururl ()
Anders
Geturl = getReferer ()
Ende wenn
Endfunktion
'Anti-Refresh
'S1: Der Zugriff ist nach mehr als S1 -Sekunden zulässig
'S2: Wenn sich die aktuelle Zeit und die letzte Zugriffszeit von S2 Sekunden unterscheiden, wird sie als häufig erfrischt angesehen
'Maxtimes: Wenn die Anzahl der häufigen Aktualisierungen gleich oder größer als MaxTimes ist, zeichnen Sie auf
'Wenn es häufig erfrischt, ist isrefresh = true, sonst ist es falsch
Öffentliche Funktion Isrefresh (S1, S2, Maxtimes)
Dimer CacheName
CacheName = eventProvider_2006
Wenn ISDATE (Sitzung (CacheName & IsRefreshtime)), ist Access nach S1 -Sekunden erlaubt
Wenn datiff (s, Sitzung (CacheName & isrefreshtime), jetzt ())> S1 dann
Sitzung (CacheName & isrefreshtime) = jetzt ()
Sitzung (CacheName & IsRefresh) = False
Ende wenn
Ende wenn
Wenn Sitzung (CacheName & IsRefresh) = toll
isrefresh = true
Anders
isrefresh = false
Ende wenn
Wenn ISDATE (Sitzung (CacheName & Refreshstart)) dann
Wenn Datediff (s, Sitzung (CacheName & Refreshstart), Now ()) <S2, dann '// Wenn die aktuelle Zeit und die letzte Zugriffszeit von S2 Sekunden unterschiedlich sind, wird es als häufig erfrischt angesehen
Sitzung (CacheName & Refresht) = Sitzung (CacheName & Refresht) +1 '// Statistik Die Anzahl der häufigen Aktualisierungen
Wenn Sitzung (CacheName & Refresht)> = MaxTimes, dann '// Wenn die Frequenz -Aktualisierungszeiten gleich oder größer als maximal sind, zeichnen Sie auf
Sitzung (CacheName & Isrefresh) = True
Sitzung (CacheName & isrefreshtime) = jetzt ()
Ende wenn
Anders
Sitzung (CacheName & Refresht) = 0 '// Wenn nicht, ändern Sie die Anzahl der häufigen Datensätze auf 0
Ende wenn
Ende wenn
Sitzung (CacheName & Refreshstart) = Now () '// Die Zeit für diesen Besuch bis zum nächsten Besuch reservieren
Endfunktion
'Schreiben Sie an das Datenbankprotokoll
Public sub writeToDB (e_title, c_url, e_num, e_des, e_time, Opera, ip, reurl, conn)
Dim Sql
sql = in & logdbname & (etitle, eurl, enum, edes, etime, operator, ip, refererurl) einfügen (
SQL = SQL & '& E_TITLE &', '& C_URL &', '& E_NUM &', '& E_DES &', '& E_TIME &', '& Opera &', '& ip &', '& Reurl &')
Conn.Execute (SQL)
Ende sub
Endklasse
%>
Teilen: ASP+Ajax erreicht keine Aktualisierung, um Freunde hinzuzufügen Aufgrund von Arbeitsbeziehungen besteht eine der Funktionen darin, die andere Partei als Freund zu erhöhen. Wie in der Abbildung gezeigt: Die verwendete Methode ist Ajax, und der entsprechende Code ist günstiger: a href = javaScript: void (0); onclick = add_username (' %= rs (Benutzername) %'); Fügen Sie als Freund/A hinzu, die verwendete JS -Überprüfung: script langual = javaScript src = ajax.