Como bloquear e banir endereços IP de spam no PrestaShop – Principais dicas de programação
Posted On: Sep 14, 2018
Categories: Shopping Carts & Platforms
Hoje em dia, a maior ameaça para as lojas online são os spammers e hackers. Essas pessoas podem prejudicar gravemente a sua loja de comércio eletrônico. A simples perda de spam sobrecarrega os servidores, o que resulta finalmente na paralisação do seu servidor e da sua loja. As maiores perdas podem ser, por exemplo, o roubo de informações de cartão de crédito e credenciais dos seus clientes, ou podem simplesmente hackear a sua loja e exibir qualquer tipo de informação falsa.
Imagine que se os spammers estão criando milhares de carrinhos abandonados na sua loja. Você compra um software de autenticação de pedidos que custará até 1 dólar para evitar um único carrinho abandonado. Você recebe 100 carrinhos abandonados e definitivamente será cobrado 100 dólares por esse dia. Se os spammers continuarem essa prática diariamente, você pode suportar essa perda dessa forma? Certamente não, então você deve pensar em outra solução que seja confiável e que custe pouco.
Como estamos falando do PrestaShop, que por padrão não estabelece um mecanismo para bloquear o spam. Portanto, você deve instalar um módulo de bloqueio de IP geolocalizado pago ou editar os seus arquivos principais, incluindo o htaccess, para fazer esta tarefa. Ao fazer isso via htaccess, a tarefa será muito cansativa ao adicionar 1000 IPs para bloqueio, então a instalação de um módulo será uma opção melhor.
O nosso objetivo aqui não é promover nenhum módulo, mas vamos fornecer várias soluções gratuitas que, com sorte, funcionarão para você. Portanto, abaixo, a sessão de perguntas e respostas mostrará algumas maneiras de Como bloquear e proibir endereços IP de spam no PrestaShop;
Pergunta Nº 1: Eu quero bloquear os endereços do meu próprio país. Para fazer isso, baixei o arquivo geo.dat do painel de administração na seção de geolocalização. Descompactei o arquivo e então o enviei para o local sugerido. Desmarquei o país dos países permitidos, mas não funciona.
Resposta: Vá para este site http://www.ip2location.com/free/visitor-blocker e gere o arquivo htaccess incluindo os países que deseja bloquear. No caso de querer bloquear apenas algumas IPs, você pode obter o endereço IP e adicioná-las no final do arquivo htacccss. Como você vê aqui;
ErrorDocument 404 /Error404.html
deny from 1.38.0.0/15
deny from 1.186.0.0/15
deny from 5.56.18.0/24
etc, etc... podem ser mais de 1000+
Salve o seu arquivo .htaccess
Crie outro arquivo Error404.html na pasta raiz. Edite o seu conteúdo, ou seja, esse conteúdo será mostrado aos visitantes que vêm dessa IP.
Pergunta Nº 2: Há um site, por exemplo, xyz.com. Este site envia constantemente bots para a minha loja para verificar os produtos da loja. Geralmente, eles acessam o meu site através da função de carrinho, por exemplo, index.php?controller=cart&add=1&id_product=16101&token=e84ed70b53dd, o que acaba adicionando produtos aos carrinhos que terminam como abandonados. Desta forma, recebo centenas de carrinhos abandonados. Por favor, me oriente sobre como bloquear o IP desse site ou até mesmo ficarei satisfeito se impedir que esse site adicione entradas no meu carrinho. Eu tentei fazer isso via htaccess, mas não ajudou.
Resposta: Embora o método via htaccess deva funcionar, se você não estiver obtendo resultados, é melhor tentar algum módulo de bloqueio de IP geolocalizado pago no marketplace de complementos.
Pergunta Nº 3: Olá, nos últimos dias, tenho visto muitos usuários na minha loja, variando de 100 a 400. Este é um tráfego incomum e, quando verifiquei, vi que grande parte do tráfego está vindo do mesmo IP, ou seja, o mesmo IP acessando o meu canal várias vezes. Estou na Austrália e minha loja só é útil para visitantes do meu próprio país. Como lidar com essa situação, já que não quero que meu servidor seja sobrecarregado com tráfego de spam? Veja a captura de tela
Resposta: Na minha opinião, é responsabilidade do provedor de hospedagem resolver o seu problema de spammers. Isso acontece porque os provedores têm acesso total para controlar todos os IPs que desejam acessar o servidor deles. Se for um servidor VPS, você deve habilitar um firewall seguro.
Pergunta Nº 4: Suponha que eu tenha 500 visitantes online na minha loja e quando não tenho certeza se são bots de mecanismos de busca ou spammers. Como posso diferenciar entre os IPs dos spammers e os bots de mecanismos de busca?
Resposta: À medida que você encontra as IPs no backend, você pode pesquisar essas IPs no Google e definitivamente fará a diferença entre bots e spammers.
Pergunta Nº 5: Estou muito preocupado com um país como a Índia, cujo site está sempre enviando spam para o meu site e roubando fotos de produtos e outros detalhes. Eu sei que no PrestaShop 1.6, na administração, há um módulo de geolocalização. Eu quero saber até que ponto este módulo é viável. Para maior clareza, este módulo pode ser acessado na administração, na guia Preferências -> Geolocalização
Resposta: Esta é uma ótima ferramenta para bloquear um país inteiro, ou seja, gerenciar o tráfego de países. Se um IP bloqueado for detectado, este módulo não permitirá compras. Verificar o maxmind geolitecity.dat fornece informações quase verdadeiras sobre o IP. Como os IPs mudam com frequência, você deve atualizar o geolitecity.dat pelo menos uma vez por mês. Você pode obter este arquivo daqui http://dev.maxmind.com/geoip/legacy/geolite/. Faça o download do arquivo de país ou cidade, descompacte e envie-o para a pasta tools/geoip via FTP.
Pergunta Nº 6: Eu vi que as minhas lojas às vezes são bombardeadas por alguns sites russos. Eu quero bloquear esses sites. Como posso conseguir isso?
Resposta: Você pode adicionar estas linhas no arquivo robot.txt.
# Sites suspeitos
Denyfrom178.151.143.247
Denyfrom37.140.165.207
Denyfrom87.178.34.253
Denyfrom94.222.146.143
Se você não quiser seguir este método, consulte a resposta à pergunta nº 1, onde há uma solução para fazer isso através da edição do arquivo htaccess.
Caso você não goste de ambos os métodos, você pode optar pelo módulo de geolocalização local GEO, conforme discutido na resposta à pergunta nº 5. Por fim, você pode experimentar um módulo GEO IP pago, conforme indicado na pergunta nº 2.
Nota: Estas perguntas foram respondidas pelos principais desenvolvedores da comunidade e não refletem a opinião da FMEModules.