acces a la base.

This commit is contained in:
Alexandre Anriot 2005-09-15 05:44:29 +00:00
parent 80538647d7
commit f21f83d3d4

View file

@ -17,10 +17,6 @@ my $db = $Config->{bdd}->{db};
my $username = $Config->{bdd}->{username}; my $username = $Config->{bdd}->{username};
my $userpass = $Config->{bdd}->{userpass}; my $userpass = $Config->{bdd}->{userpass};
my $dbh = DBI->connect( $db, $username, $userpass )
&& &Evoauth::Functions::Log("La connexion a réussie.") ||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
# Règles # Règles
our %conf; our %conf;
my $cpt = 1; my $cpt = 1;
@ -49,13 +45,17 @@ sub Alter() {
# suppression # suppression
else { else {
my $dbh = DBI->connect( $db, $username, $userpass ) ||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
my $sql = qq{ UPDATE users set statut = 0 where ip = '$ip' }; my $sql = qq{ UPDATE users set statut = 0 where ip = '$ip' };
my $sth = $dbh->prepare($sql); my $sth = $dbh->prepare($sql);
system("/sbin/iptables -D EVOAUTH -s $ip -j ACCEPT") && system("/sbin/iptables -D EVOAUTH -s $ip -j ACCEPT");
$sth->execute() && $sth->execute();
$sth->finish() && $sth->finish();
&Evoauth::Functions::Log("$ip [supprimee]") && &Evoauth::Functions::Log("$ip [supprimee]");
&Evoauth::Functions::Mail("Deconnexion", $ip); &Evoauth::Functions::Mail("Deconnexion", $ip);
} }
@ -79,6 +79,9 @@ sub check_iptables() {
foreach $ip (@ips) { foreach $ip (@ips) {
chomp $ip; chomp $ip;
my $dbh = DBI->connect( $db, $username, $userpass ) ||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
my $sql = "SELECT statut FROM users where ip = '".$ip."'"; my $sql = "SELECT statut FROM users where ip = '".$ip."'";
my $sth = $dbh->prepare( $sql ); my $sth = $dbh->prepare( $sql );
$sth->execute(); $sth->execute();
@ -100,6 +103,10 @@ sub check_timestamp() {
&Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables."); &Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables.");
# on travaille sur tous les utilisateurs présents # on travaille sur tous les utilisateurs présents
my $dbh = DBI->connect( $db, $username, $userpass ) ||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
my $sql = "SELECT * FROM users"; my $sql = "SELECT * FROM users";
my $sth = $dbh->prepare($sql); my $sth = $dbh->prepare($sql);
$sth->execute(); $sth->execute();
@ -154,7 +161,7 @@ sub Control() {
&Evoauth::Functions::Log("1 - Regles de PREROUTING charges"); &Evoauth::Functions::Log("1 - Regles de PREROUTING charges");
system("/sbin/iptables -N EVOAUTH 2&>1") && system("/sbin/iptables -N EVOAUTH 2&>1");
system("/sbin/iptables -A EVOAUTH -j DROP 2&>1"); system("/sbin/iptables -A EVOAUTH -j DROP 2&>1");
&Evoauth::Functions::Log("2 - Tables crées"); &Evoauth::Functions::Log("2 - Tables crées");