Como prevenir eficazmente mensagens de spam e comentários de spam em sites (quadros de mensagens)? Este artigo fornece ideias de soluções detalhadas e etapas de implementação. Amigos que precisam saber mais podem consultar o seguinte.
1. Na página de preenchimento do formulário: <input type="hidden" value="<%=Now()%>">
Na página de processamento de envio, defina o horário de envio
Copie o código do código da seguinte forma:
Se DateDiff("s",request.form("intime1"), Now()) < 5 então
response.write "<SCRIPT language=JavaScript>alert('A velocidade da sua mensagem é muito rápida, é proibido deixar mensagens!');"
resposta.write "this.location.href='vbscript:history.back()';</SCRIPT>"
resposta.fim
terminar se
2. Código de verificação
Copie o código do código da seguinte forma:
yz=cstr(request.Form("yz"))
yz1=cstr(sessão("yz1"))
se yz1<>yz então
Response.Write("<script language=javascript>alert('Por favor, insira o código de verificação corretamente!');</script>")
resposta.redirect("sinal.asp")
terminar se
3. Determine a origem
Copie o código do código da seguinte forma:
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
'Resposta.Write(servidor_v1)
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
'Resposta.Write(servidor_v2)
se mid(servidor_v1,8,len(servidor_v2))<>servidor_v2 então
Response.Write("<script language=javascript>alert('O envio externo de dados é proibido!');</script>")
resposta.fim
terminar se
4. Defina o número de envios diários
Copie o código do código da seguinte forma:
'Quando o usuário envia uma vez
se request.cookies("postnum")=""então
resposta.cookies("postnum")=1
resposta.cookies("postnum").expires=DateAdd("h", 24, Agora())
outro
resposta.cookies("postnum")=request.cookies("postnum")+1
terminar se
se request.cookies("postnum") > 3 então
response.write "<SCRIPT language=JavaScript>alert('O número de mensagens hoje excedeu o limite, mensagens são proibidas!');"
resposta.write "this.location.href='vbscript:history.back()';</SCRIPT>"
resposta.fim
terminar se
5. Banir IP
Copie o código do código da seguinte forma:
server_ip=Cstr(Request.ServerVariables("REMOTE_ADDR"))
se estiver certo (server_ip,8) = "194.165."
response.write "Envios sobrepostos 194.165 são proibidos."
resposta.End()
terminar se
1. Determine se a informação divulgada tem uma fonte confiável. Desde que seja postado por pessoa física, deve ter vindo através da página de envio que disponibilizamos aos usuários, e deve haver fonte, caso seja postado por máquina, não haverá informação de origem;
'Determinar a origem e proibir submissões externas
Copie o código do código da seguinte forma:
escurecer servidor_v1, servidor_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
se server_v1="" ou instr(server_v1,"/add.asp")<=0 ou mid(server_v1,8,len(server_v2))<>server_v2 então
response.write "<SCRIPT language=JavaScript>alert('Fonte ilegal, envio externo proibido!');"
resposta.write "this.location.href='vbscript:history.back()';</SCRIPT>"
resposta.fim
terminar se
Observe que /add.asp acima é a página de origem da página de envio. Claro, a máquina também pode forjar a origem, o que precisa ser resolvido em combinação com os métodos a seguir.
2. Código de verificação. Os códigos de verificação sempre foram um método viável para lidar com mensagens de spam de máquina. Diferentes códigos de verificação têm diferentes capacidades para lidar com mensagens de máquina. Quanto mais complexo o código de verificação, mais difícil será para as máquinas decifrá-lo. Isto requer escolher um equilíbrio entre considerar os sentimentos do usuário e lidar com a máquina. Não vou falar muito sobre como usar o código de verificação. Pesquisar no Google e no Baidu trará muitas apresentações.
3. Determine o horário de envio da fonte. Se o tempo gasto na página de submissão for muito curto, como 20 segundos, geralmente desde que seja um indivíduo, seu tempo de digitação não precisa ser tão curto. Por exemplo, quando o usuário abre a página (como add.asp), registramos a hora e adicionamos um objeto oculto ao formulário de envio do formulário, como:
<input type="hidden" value="<%=Agora()%>">
Então, quando o usuário escreve uma mensagem e a envia para uma página de processamento específica (como addok.asp), obtemos a hora atual e a comparamos com a hora intime1 em add.asp se a diferença de horário for menor que a definida. tempo, como 20 segundos, as mensagens são proibidas e é determinado que se trata de uma máquina. O código pode ser escrito assim:
Copie o código do código da seguinte forma:
Se DateDiff("s",request.form("intime1"), Now()) < 20 então
response.write "<SCRIPT language=JavaScript>alert('A velocidade da sua mensagem é muito rápida, é proibido deixar mensagens!');"
resposta.write "this.location.href='vbscript:history.back()';</SCRIPT>"
resposta.fim
terminar se
Através dos três métodos acima, a maioria dos comentários de spam feitos por robôs podem ser bloqueados. Se ainda houver um grande número de comentários, eles provavelmente serão deixados por carne humana. Mas como lidamos com mensagens humanas? flymorn também fornece métodos para lidar com isso.
O método é muito simples, que consiste em limitar o número de comentários postados por um mesmo usuário registrando os cookies e IP do usuário. Por exemplo, dentro de 24 horas por dia, o mesmo usuário só pode postar 5 mensagens. Podemos conseguir isso através dos seguintes métodos.
Copie o código do código da seguinte forma:
<%'Quando o usuário envia uma vez
se request.cookies("postnum")=""então
resposta.cookies("postnum")=1
resposta.cookies("postnum").expires=DateAdd("h", 24, Agora())
outro
resposta.cookies("postnum")=request.cookies("postnum")+1
terminar se
se request.cookies("postnum") > 5 então
response.write "<SCRIPT language=JavaScript>alert('O número de mensagens hoje excedeu o limite, mensagens são proibidas!');"
resposta.write "this.location.href='vbscript:history.back()';</SCRIPT>"
resposta.fim
terminar se
%>
Através das restrições acima, a postagem manual também foi restringida até certo ponto. O método acima é baseado no julgamento de cookies. É claro que os usuários podem limpar COOKIES por meio do navegador, mas isso torna mais difícil para eles postarem postagens de spam e aumenta o limite. Também podemos continuar a determinar o IP do editor e atingir nosso objetivo limitando o número de postagens sob o mesmo IP. Não haverá mais expansão aqui. Você pode criar seu próprio método de como determinar o IP para limitar a postagem. Se você tiver opiniões ou sugestões sobre os temas abordados neste artigo, deixe um comentário para que possamos discutir juntos.