¿Cómo prevenir eficazmente mensajes spam y comentarios spam en sitios web (foros de mensajes)? Este artículo proporciona ideas de solución detalladas y pasos de implementación. Los amigos que necesiten saber más pueden consultar el siguiente paso en la página para completar el formulario : <input name=intime1 type=hidden value=<%=Now()%>>.
En la página de procesamiento de envío, establezca el tiempo de envío
Copie el código de código de la siguiente manera:
Si DateDiff(s,request.form(intime1), Now()) <5 entonces
Response.write <SCRIPT language=JavaScript>alert('¡La velocidad de tu mensaje es demasiado rápida, está prohibido dejar mensajes!');
respuesta.escribir this.location.href='vbscript:history.back()';</SCRIPT>
respuesta.fin
terminar si
2. Código de verificación
Copie el código de código de la siguiente manera:
yz=cstr(solicitud.Form(yz))
yz1=cstr(sesión(yz1))
si yz1<>yz entonces
Response.Write(<script language=javascript>alert('¡Ingrese el código de verificación correctamente!');</script>)
respuesta.redirect(signo.asp)
terminar si
3. Determinar el origen
Copie el código de código de la siguiente manera:
server_v1=Cstr(Request.ServerVariables(HTTP_REFERER))
'Respuesta.Escribir(servidor_v1)
server_v2=Cstr(Request.ServerVariables(SERVER_NAME))
'Respuesta.Escribir(servidor_v2)
si mid(server_v1,8,len(server_v2))<>server_v2 entonces
Response.Write(<script language=javascript>alert('¡Está prohibido el envío externo de datos!');</script>)
respuesta.fin
terminar si
4. Establezca la cantidad de envíos diarios.
Copie el código de código de la siguiente manera:
'Cuando el usuario envía una vez
si request.cookies(postnum)= entonces
respuesta.cookies(postnum)=1
respuesta.cookies(postnum).expires=FechaAdd(h, 24, Ahora())
demás
respuesta.cookies(postnum)=solicitud.cookies(postnum)+1
terminar si
si request.cookies(postnum) > 3 entonces
Response.write <SCRIPT language=JavaScript>alert('¡El número de mensajes de hoy ha excedido el límite, los mensajes están prohibidos!');
respuesta.escribir this.location.href='vbscript:history.back()';</SCRIPT>
respuesta.fin
terminar si
5. Prohibir la propiedad intelectual
Copie el código de código de la siguiente manera:
server_ip=Cstr(Request.ServerVariables(REMOTE_ADDR))
si es correcto(server_ip,8) = 194.165.
Response.write prohíbe envíos superpuestos 194.165.
respuesta.Fin()
terminar si
1. Determinar si la información publicada tiene una fuente confiable. Siempre que sea publicado por una persona física, debe haber llegado a través de la página de envío que proporcionamos a los usuarios y debe haber una fuente, si es publicado por una máquina, no habrá información de la fuente;
'Determinar el origen y prohibir presentaciones externas
Copie el código de código de la siguiente manera:
servidor_v1 tenue, servidor_v2
server_v1=Cstr(Request.ServerVariables(HTTP_REFERER))
server_v2=Cstr(Request.ServerVariables(SERVER_NAME))
si server_v1= o instr(server_v1,/add.asp)<=0 o mid(server_v1,8,len(server_v2))<>server_v2 entonces
respuesta.write <SCRIPT language=JavaScript>alert('¡Fuente ilegal, el envío externo está prohibido!');
respuesta.escribir this.location.href='vbscript:history.back()';</SCRIPT>
respuesta.fin
terminar si
Tenga en cuenta que /add.asp arriba es la página de origen de la página de envío. Por supuesto, la máquina también puede falsificar el origen, lo que debe solucionarse en combinación con los siguientes métodos.
2. Código de verificación. Los códigos de verificación siempre han sido un método viable para lidiar con los mensajes de spam de las máquinas. Los diferentes códigos de verificación tienen diferentes capacidades para manejar los mensajes de las máquinas. Cuanto más complejo es el código de verificación, más difícil es descifrarlo para las máquinas. Esto requiere elegir un equilibrio entre considerar los sentimientos del usuario y tratar con la máquina. No diré mucho sobre cómo usar el código de verificación. La búsqueda en Google y Baidu mostrará muchas presentaciones.
3. Determine la hora de envío de la fuente. Si el tiempo dedicado a la página de envío es demasiado corto, como 20 segundos, generalmente siempre que sea un individuo, no es necesario que su tiempo de escritura sea tan corto. Por ejemplo, cuando el usuario abre una página (como add.asp), registramos la hora y agregamos un objeto oculto en el formulario de envío del formulario, como por ejemplo:
<nombre de entrada=tipo intime1=valor oculto=<%=Ahora()%>>
Luego, cuando el usuario escribe un mensaje y lo envía a la página de procesamiento específica (como addok.asp), obtenemos la hora actual y la comparamos con la hora intime1 en add.asp si la diferencia horaria es menor que la establecida. tiempo, como 20 segundos, los mensajes están prohibidos y se determina que es una máquina. El código se puede escribir así:
Copie el código de código de la siguiente manera:
Si DateDiff(s,request.form(intime1), Now()) <20 entonces
Response.write <SCRIPT language=JavaScript>alert('¡La velocidad de tu mensaje es demasiado rápida, está prohibido dejar mensajes!');
respuesta.escribir this.location.href='vbscript:history.back()';</SCRIPT>
respuesta.fin
terminar si
A través de los tres métodos anteriores, la mayoría de los comentarios spam hechos por robots se pueden bloquear. Si todavía hay una gran cantidad de comentarios, probablemente sean de carne humana. Pero, ¿cómo abordamos los mensajes humanos? flymorn también proporciona métodos para solucionarlo.
El método es muy sencillo y consiste en limitar el número de comentarios publicados por un mismo usuario registrando las cookies y la IP del usuario. Por ejemplo, dentro de las 24 horas del día, el mismo usuario sólo puede publicar 5 mensajes. Podemos lograr esto a través de los siguientes métodos.
Copie el código de código de la siguiente manera:
<%'Cuando el usuario envía una vez
si request.cookies(postnum)= entonces
respuesta.cookies(postnum)=1
respuesta.cookies(postnum).expires=FechaAdd(h, 24, Ahora())
demás
respuesta.cookies(postnum)=solicitud.cookies(postnum)+1
terminar si
si request.cookies(postnum) > 5 entonces
Response.write <SCRIPT language=JavaScript>alert('¡El número de mensajes de hoy ha excedido el límite, los mensajes están prohibidos!');
respuesta.escribir this.location.href='vbscript:history.back()';</SCRIPT>
respuesta.fin
terminar si
%>
A través de las restricciones anteriores, la publicación manual también se ha restringido hasta cierto punto. El método anterior se basa en el criterio de las cookies. Por supuesto, los usuarios pueden borrar las COOKIES a través del navegador, pero esto les dificulta publicar spam y eleva el umbral. También podemos continuar determinando la IP del editor y limitar la cantidad de publicaciones bajo la misma IP para lograr nuestro objetivo. No habrá más expansión aquí. Puede diseñar su propio método sobre cómo determinar la IP para limitar la publicación. Si tiene opiniones o sugerencias sobre los temas tratados en este artículo, deje un comentario para que podamos discutirlo juntos.