¿Cómo prevenir eficazmente mensajes spam y comentarios spam en sitios web (foros de mensajes)? Este artículo proporciona ideas de soluciones detalladas y pasos de implementación. Los amigos que necesiten saber más pueden consultar lo siguiente.
1. En la página para completar el formulario: <input 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.write "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=DateAdd("h", 24, Now())
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.write "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 right(server_ip,8) = "194.165."
Response.write "Están prohibidos los 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 origen;
'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
Response.write "<lenguaje SCRIPT=JavaScript>alert('Fuente ilegal, envío externo prohibido!');"
respuesta.write "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 sea el código de verificación, más difícil será 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. Al buscar en Google y Baidu, aparecerán 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 al formulario de envío del formulario, como por ejemplo:
<tipo de entrada="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.write "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=DateAdd("h", 24, Now())
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.write "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 publicaciones no deseadas y eleva el umbral. También podemos continuar determinando la IP del editor y lograr nuestro objetivo limitando la cantidad de publicaciones bajo la misma IP. 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.