Há algo que eu não entendo, um dos meus aplicativos da web possui um pequeno formulário que permite inserir seu nome e endereço de e-mail para "assinar" uma lista de usuários de um site que eu mantenho. O site é de tráfego muito baixo e é útil apenas para um número muito pequeno de pessoas que moram em uma cidade muito pequena. Não seria de interesse de mais ninguém.
No entanto, todos os dias, às vezes muitas vezes por dia, alguém (ou um bot) está inserindo nomes fictícios e provavelmente endereços de e-mail falsos no formulário.
Esse formulário não está mais ativo no meu site, mas ainda existe como uma página órfã no meu diretório do IIS (o que indica que alguém está pesquisando esses tipos de formulários pelo Google, porque não há caminho para esse formulário se você entra na página padrão.
Isso não é um grande aborrecimento para mim, posso resolver o problema com o captcha, mas o que não entendo é com que finalidade alguém configuraria um bot para preencher repetidamente formulários? Eu acho que deve haver uma razão, mas para a minha vida não sei por quê?
o que estou perdendo?
Respostas:
Esses são bots tentando enviar spam ou, pior ainda, tentando explorar seu formulário de contato para enviar spam a outras pessoas.
Por exemplo, existem várias explorações conhecidas para o
mail()
comando PHP comumente usado por formulários de contato que podem fazer com que o endereço TO que você coloca no seu código seja sobrescrito pelos dados POST, se você não tomar cuidado com o tratamento dos dados que chegam do seu formulário.Algumas maneiras de evitar isso:
Use um captcha. Para um site de baixo tráfego, mesmo um captcha estático (uma imagem que sempre contém o mesmo texto) funcionará muito bem.
Verifique o HTTP
referrer
para garantir que o POST seja proveniente do seu formulário de contato. Muitos bots irão imitar isso, portanto, não é muito útil.Use campos de formulário ocultos para tentar enganar os bots. Por exemplo, crie um campo chamado
phone_number
no seu formulário e oculte-o com CSS na sua folha de estilo (display: none). Um bot normalmente preenche esse campo (eles geralmente preenchem todos os campos para evitar possíveis erros de validação de campos obrigatórios), mas o usuário não, uma vez que está oculto. Portanto, no POST, você verifica um valor nesse campo e, silenciosamente, falha ao enviar a mensagem, se houver um valor nele. Acho que esse método sozinho é altamente eficaz.fonte
Esses bots estão tentando cegamente todos os formulários encontrados para enviar e-mails com spam. Alguns deles podem ter dados históricos de formulários e, mesmo que não estejam listados no momento nos mecanismos de pesquisa, esses bots podem postar dados nesse URL.
Digamos que um site contenha um formulário HTML para enviar uma recomendação a um amigo, geralmente "Informar um frito" ou "Enviar cartão", que não é protegido por uma imagem CAPTCHA, por exemplo. Um bot pode usar o formulário para enviar milhares de emails de spam usando seu servidor SMTP.
Se o bot vier do mesmo endereço IP, você poderá bloquear esse endereço no IIS ou no seu firewall.
fonte
address
ourecipient
. Altere-os para algo um pouco mais obscuro e é menos provável que você receba spam.Se eles podem, de alguma forma, entrar no seu servidor e implantar software nele sem que você perceba, isso é um golpe extra para eles.
Ser registrado é um passo mais próximo de poder assumir o controle de um servidor, já que você pode ver um pouco mais dos arquivos no servidor.
Além disso, se o formulário não estiver protegido contra o XSS e outras táticas, o hacking será ainda mais fácil.
fonte
Geralmente eles tentam forjar comandos HTML / PHP / ASP personalizados quando clicam em Submit, é usado como um backdoor para cavalos de Troia etc.
fonte
O spam de comentários é um dos motivos. Eles tentam adicionar muitos links nos comentários do blog, por exemplo, na tentativa de aumentar seu page rank.
fonte
Alguns deles parecem apenas preencher qualquer formulário que vêem com links para sites pornográficos, na esperança de que em algum lugar, de alguma forma, os links no formulário apareçam no seu site e sejam buscados pelo Google.
Eu tive muita sorte em bloquear bots com algumas regras personalizadas mod_Security.
fonte