Je reçois de nombreux échec des demandes de connexion de spammers/bots qui tentent de brute-force les informations d'identification, aussi je reçois beaucoup de demandes à des pages comme /forum/index.php
.Méthode fiable pour bloquer les spammeurs dans Rails App?
j'ai écrit un script pour analyser l'adresse IP de ces attaquants de production.log: les années IP jusqu'à
#!/bin/bash
# Failed Logins
grep "Failed " ~/app/log/production.log | egrep -o -e "[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}" | sort | uniq > ~/spammers.txt
# Try to GET .php Files
cat ~/app/log/production.log | awk '$0!~/^$/ {print $0}' | sed -n -e "N; /\.php/p" | grep "ApplicationController#index" | egrep -o -e "[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}" | sort | uniq >> ~/spammers.txt
Mais je ne peux pas bloquer (.httaccess) Je vérifie manuellement leur origine par Geolocation.
Existe-t-il une solution Rail-ish pour ce problème?
D'une certaine manière, je parie que le script les pirates ont écrit ne pas le respect en-têtes de cache. En outre, je parierais que les pirates ne font que pointer sur des URL communes et continueraient à le faire même s'il s'agissait d'un site d'identification ouvert. –
Utiliser le sommeil avant de rendre leur page ne fera que lier vos processus de rails. Ne fais pas ça. –
@Scott S - Bon point. Le sommeil devrait se produire dans la page Web javascript qui rend le formulaire de connexion, ou le formulaire de réponse de connexion. Mais vous avez raison sur le premier ... les robots spammeurs ne sont généralement pas des programmes dans les navigateurs Web. –