Recomendado: ASP Clase A Tag Engine Clase TagEngine.class Una clase ASP utilizada para implementar la función de etiqueta, puede comprender las funciones específicas si puede entenderlas. Registro de modificación: 1, Agregar función de extensión, 2006-12-3 % '***************************' Nombre de clase: TagEngine 'Nombre: Motor de etiqueta' Fecha: 2006-11-29 'Autor: Xilou Lengyue' Sitio web: www.xilou.net | www.
El autor es tan meticuloso que encapsula todas estas cosas en clases. Se acabó un poco. Estas cosas pueden encapsularse como procesos o funciones. La sub y la función también están encapsuladas, y no tiene que ser una clase. Su biblioteca de archivos no es necesariamente todas las clases, es necesario alguna sub y función.
Las funciones implementadas incluyen
1. ShowInfo (E_Title, C_URL, E_NUM, E_DES, E_TIME, OPERA, IP, REURL): Mensaje de error de visualización
2. GetIP (): obtenga la IP del cliente
3. CheckPost (): Verifique si se trata de una presentación fuera del sitio
4. GetReferer (): el registro de origen
5. GetCururl (): Obtenga la ruta de la página actual
6, Isrefresh (S1, S2, Maxtimes): anti-refresh
Código completo:
<%
'**********************************
'Nombre: EventProvider (clase de eventos)
'Fecha: 2006/11/24
'Autor: Leng Yue, Xilou
'Sitio web: www.cuoxin.com
'Descripción: ninguno
'Copyright: consulte la fuente para la reimpresión, el autor
'**********************************
'Último modificado: 2006/11/24
'Número de modificaciones: 0
'Instrucciones de modificación: ninguna
'Versión actual: V1.0.0
'**********************************
Class EventProvider
Nombre de la tabla de registro privado logdbname '
'www.cuoxin.com Design Home
'Inicialización
Sub class_initialize () privado ()
logDBName = loginfo
Final
'
Sub class_terminate () privado ()
Final
'El título del evento predefinido, o un tipo
Función pública EventTitles (typepenum)
Dim Arrtype (9)
Arrtype (0) = evento desconocido
Arrtype (1) = Inicio de sesión de usuario ilegal
Arrtype (2) = URL pasa parámetros ilegales
Arrtype (3) = Iniciar sesión y pasar en caracteres ilegales
Arrtype (4) = Iniciar sesión con frecuencia, el número de inicios de sesión excede el tiempo especificado
Arrtype (5) = consulta caracteres ilegales entrantes
Arrtype (6) = consulta frecuente, el número de tiempos de consulta excede el tiempo especificado
Arrtype (7) = La página se actualiza con frecuencia, y el número de actualizaciones excede el tiempo especificado
Arrtype (8) = datos de envío fuera del sitio
Arrtype (9) = Inicio de sesión de backend
Si no es isnumérico (typenum), entonces eventtitles = evento desconocido: función de salida
Si Clng (ABS (Typenum))> Ubound (Arrtype) entonces
EventTitles = Evento desconocido: función de salida
Final si
EventTitles = Arrtype (typenum)
Función final
'El error de visualización de la matriz de pedido anticipado
Public Sub ShowArrayInfo (InfoItems, Infovalues)
Mimbre
str = <div style = 'Border: 2px Solid #4E4E9C; Font-Family: Arial; Color: #800040; Ancho: 50%; Font-Size: 9PT'>
str = str & <ul style = 'margin: 20px;'> <b> Información del evento ASP: </b> y vbcrlf
If isarray (infoitems) e isArray (infovalues) entonces entonces
Para i = lbound (infoitems) a Ubound (infoitems)
str = str & <li> <b style = 'color:#4e4e9c'> & infoitems (i) &: </b> & infovalues (i) & vbcrlf
Próximo
Demás
str = str & <li> <b> & InfoItems & </b>: e infovalues & vbcrlf
Final si
str = str & </ul> </div> y vbcrlf
Respuesta.WRITE STR
Final
'Mostrar error
Public Sub ShowInfo (E_title, C_URL, E_NUM, E_DES, E_TIME, OPERA, IP, REURL)
Infoitems de dim
InfoItems = Array (título de evento, URL de eventos, EventNumber, EventDescription, _
EventTime, Operator, IP, Referente URL_
)
infovalues = array (e_title, c_url, e_num, e_des, e_time, ópera, ip, reurl)
ShowArrayInfo InfoItems, Infovalues
Final
'Mostrar información sobre el archivo original
Public sub showoriinfo (Oriclass, Orifunction, Oripage)
Infoitems de dim
InfoItems = Array (clase original, función original, página original)
Infovalues = Array (Oriclass, Orifunction, Oripage)
ShowArrayInfo InfoItems, Infovalues
Final
'Obtener IP
Función pública getip ()
Dim IP
'Si el cliente usa un servidor proxy, debe usar el método ServerVariAbles (http_x_forwarded_for)
Ip = request.serverVariables (http_x_forwarded_for)
Si ip = o isnull (ip) o isEmpty (ip) entonces
'Si el cliente no usa un proxy, se debe utilizar el método request.serverVariAbles (remota_addr)
Ip = request.serverVariAbles (remota_addr)
final si
getip = ip
Función final
'Verificación de envío fuera del sitio
Función pública checkPost ()
Dim server_v1, server_v2
checkPost = falso
server_v1 = cstr (request.serverVariables (http_referer))
server_v2 = cstr (request.serverVariables (server_name))
Si mid (server_v1,8, len (server_v2)) = server_v2 entonces checkPost = true
Función final
'Sube el camino
Función pública getReferer ()
getReferer = request.ServerVariables (http_referer)
Función final
'Obtenga la URL actual del navegador
Función pública getCururl ()
If request.serverVariables (https) = on entonces
GetCurrentUrl = https: //
Demás
GetCurrentUrl = http: //
Final si
GetCururl = getCururl & request.ServerVariAbles (server_name)
If (request.serverVariables (server_port) <> 80) y luego getCururl = getCururl &: & request.ServerVariAbles (server_port)
GetCururl = getCururl & request.ServerVariables (URL)
If (request.queryString <>) Entonces getCururl = getCururl &? & Request.Querystring
Función final
'Obtenga la fuente o obtenga la URL actual del navegador, integral los dos primeros
Función pública getURL (t)
Si t = 1 entonces
getUrl = getCururl ()
Demás
getURL = getReferer ()
Final si
Función final
'Anti-refresh
'S1: el acceso está permitido después de más de S1 segundos
'S2: si la hora actual y el último tiempo de acceso son diferentes de S2 segundos, se considerará actualizado con frecuencia
'Maxtimes: si el número de actualizaciones frecuentes es igual o mayor que el máximo, registro
'Si se refresca con frecuencia, isRefresh = true, de lo contrario es falso
Función pública IsRefresh (S1, S2, Maxtimes)
Dim Cachename
Cachename = EventProvider_2006
Si isDate (sesión (Cachename e IsRefreshtime)), entonces se permite el acceso después de S1 segundos
Si datanfa (s, session (Cachename e isRefreshtime), ahora ())> S1 entonces
Sesión (Cachename e IsRefreshtime) = ahora ()
Sesión (Cachename e IsRefresh) = falso
Final si
Final si
Si Session (Cachename e IsRefresh) = True entonces
IsRefresh = True
Demás
isrefresh = falso
Final si
If isDate (sesión (Cachename & RefreshStart)) entonces
Si datediff (s, session (Cachename & Refreshstart), ahora ()) <S2 entonces '// Si la hora actual y la última hora de acceso son diferentes de S2 segundos, se considerará actualizado con frecuencia
Sesión (Cachename & Refresht) = Session (Cachename & Refresht) +1 '// Estadísticas el número de actualizaciones frecuentes
Si la sesión (Cachename & Refresht)> = MaxTimes, entonces '// si los tiempos de actualización de frecuencia son iguales o mayores que MaxTimes, registre
Sesión (Cachename e IsRefresh) = True
Sesión (Cachename e IsRefreshtime) = ahora ()
Final si
Demás
Sesión (Cachename & Refresht) = 0 '// Si no, cambie el número de registros frecuentes a 0
Final si
Final si
Sesión (Cachename & Refreshstart) = ahora () '// Reserve la hora de esta visita hasta la próxima visita
Función final
'Escribir en el registro de la base de datos
Public sub writeTodb (E_Title, C_URL, E_NUM, E_DES, E_TIME, OPERA, IP, REURL, CONN)
Dim SQL
sql = insertar en & logdbname & (etitle, eurl, enum, edes, etime, operador, ip, referente) valores (
sql = sql & '& e_title &', '& c_url &', '& e_num &', '& e_des &', '& e_time &', '& ópera &', '& ip &', '& reurl &')
Conn.execute (SQL)
Final
Clase final
%>
Compartir: ASP+AJAX no logra actualizar para agregar amigos Debido a las relaciones laborales, una de las funciones es aumentar la otra parte como amiga. Como se muestra en la figura: el método utilizado es AJAX, y el código apropiado es menos costoso: un href = javaScript: void (0); onClick = add_username (' %= rs (nombre de usuario) %'); Agregue como amigo/a, la verificación JS utilizada: Script Language = JavaScript src = Ajax.