Script php Anti aspirateur.

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

misfu
Nouveau WRInaute
 
Messages: 32
Inscription: Ven Jan 28, 2005 6:06

Un nouveau script pour ce protéger efficacement

Message le Lun Oct 22, 2007 14:23

Bonjour,

Après avoir subit des attaques récemment, j'ai remis à jour un script php qui semble très bien fonctionner pour moi après quelques tests.
Je vous donne donc le lien : http://www.misfu.com/information-sur-le-fichier-375.html

J'aimerai quand même avoir l'avis des experts du forum sur ce script :D
Si certains d'entre vous le souhaitent, je peux afficher ici le contenue de mon fichier listeiprobots.php


medium69
WRInaute accro
WRInaute accro
 
Messages: 2169
Inscription: Sam Mai 07, 2005 9:36

Message le Lun Oct 22, 2007 18:02

Ce n'est pas potentiellement dangereux d'écrire sur le htaccess en ligne de cette manière ??

Si le script à une faille, ça craint...

Avis aux spécialiste svp...

lafactory.com
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 153
Inscription: Ven Oct 20, 2006 20:34

Message le Mer Oct 31, 2007 1:43

la référence c'est mod security. Vraiment incontournable.

Xspirits
Nouveau WRInaute
 
Messages: 13
Inscription: Lun Juin 18, 2007 0:46

Message le Mar Déc 04, 2007 21:52

Liens donnés sur le site du 1er message down :s

Gasp
Nouveau WRInaute
 
Messages: 2
Inscription: Mar Jan 22, 2008 10:48

Message le Mar Jan 22, 2008 11:24

Salut,

j'ai réalisé le début du commencement d'une page d'administration du script, car je trouvais dommage de ne pas avoir de retour graphique de son fonctionnement.

ATTENTION !!! Comme je n'y connais presque rien en php, ce script n'est pas du tout optimisé et peut contenir une ou plusieurs failles.

Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Administration du traçage IP</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <style type="text/css">
        h2, h3, th, td, form
        {
            text-align:center;
        }
        table
        {
            border-collapse:collapse;
            border:2px solid black;
            margin:auto;
         }
        th, td
        {
            border:1px solid black;
        }
      tr
      {
         background: gray;
      }
      td
      {
         background: white;
      }
        </style>
      
    <body>
   <h2>Liste des IP enregistrées :</h2>
   <table><tr>
   <th>IP</th>
   <th>User agent</th>
   <th>Date</th>
   <th>Compteur</th>
   </tr>
   <?php
   
   mysql_connect("localhost", "identifiant", "mot_de_passe");
   mysql_select_db("nom_de_la_base");
   
   
   // on efface l'entrée de la liste noire si demandé
   
   if (isset($_GET['supprimer']))
   {
   $_GET['supprimer'] = mysql_real_escape_string(htmlspecialchars(addslashes($_GET['supprimer'])));
   mysql_query('DELETE FROM ip_bl WHERE id=\'' .$_GET['supprimer']. '\'');
   }
   
   // on ajoute les entrées à bannir s'il y a lieu
   
   if (isset($_POST['ip']) OR isset($_POST['ua']))
   {
   $ip = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['ip'])));
   $ua = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['ua'])));
      if ($_POST['id_entree'] ==0)
      {
      mysql_query("INSERT INTO ip_bl VALUES('', '" .$ua. "', '" .$ip. "', '', '')");
      }
      else
      {
      $_POST['id_entree'] = addslashes($_POST['id_entree']);
      mysql_query("UPDATE ip_bl SET ip='" .$ip. "', ua='" .$ua. "'");
      }
   }
   
   // on liste maintenant les entrées enregistrées dans les tables ip et ip_bl
   
   $reponse = mysql_query ("SELECT * FROM ip ORDER BY date DESC");
   while($donnees = mysql_fetch_array($reponse))
   {
   ?>
   <tr>
   <td><?php echo $donnees['ip']; ?></td>
   <td><?php echo $donnees['ua']; ?></td>
   <td><?php echo $donnees['date']; ?></td>
   <td><?php echo $donnees['cpt']; ?></td>
   </tr>
   <?php
   }
   ?>
   </table>
   
   <h2>Liste des IP en liste noire :</h2>
   
   <h3><a href="index.php?ajout=oui">Ajouter une ip ou un user-agent en liste noire</a></h3>
   
   <?php
   if (isset($_GET['ajout']))
   {
   ?>
   <form method="post">
   <p>IP à bannir : <input type="text" size="15" maxlength="15" name="ip" value="" /></p>
   <p>User agent à bannir : <input type="text" size="30" name="ua" value="" /></p>
   <input type="hidden" name="id_entree" value="<?php echo $id_entree; ?>" /> <!-- 0 si nouveau, != 0 si modif -->
   <p><input type="submit" value="Valider" /></p>
   </form>
   <?php
   }
   ?>
   
   <table>
   <tr>
   <th>IP</th>
   <th>User agent</th>
   <th>Date</th>
   <th>Compteur</th>
   </tr>
   <?php
   
   $reponse = mysql_query ("SELECT * FROM ip_bl ORDER BY date DESC");
   while($donnees = mysql_fetch_array($reponse))
   {
   ?>
   <tr>
   <td><?php echo $donnees['ip']; ?></td>
   <td><?php echo $donnees['ua']; ?></td>
   <td><?php echo $donnees['date']; ?></td>
   <td><?php echo $donnees['cpt']; ?></td>
   <td><?php echo '<a href="index.php?modifier=' .$donnees['id']. '">'; ?>Modifier</a></td>
   <td><?php echo '<a href="index.php?supprimer=' .$donnees['id']. '">'; ?>Supprimer</a></td>
   </tr>
   <?php
   }
   mysql_close();
   ?>
   </body>
   </html>

Ce script permet de voir quelles sont les adresses ip enregistrées, quelles sont les ip bannies. Il permet aussi de bannir et débannir des IP manuellement.

---> Je répète : n'utilisez PAS ce script tel quel, à moins de le protéger dans un dossier par .htaccess, car :
1 - il ne nécessite pas d'authentification (donc n'importe qui peut accéder au script et bannir n'importe quelle ip)
2 - il est vraisemblablement codé avec les pieds et peut comporter une faille de sécurité, notamment du côté de la variable $_GET. En plus, j'ai toujours eu du mal avec les " et les ' et je me perds sans cesse entre les deux...


RESTE A FAIRE : Une liste blanche, un système d'authentification pour ceux qui ne veulent/peuvent pas utiliser de .htaccess, et ajouter un peu de css pour rendre l'interface plus jolie.


Voilà, si quelqu'un avec des connaissances en php supérieures aux miennes, peut-il me filer un petit coup de main ?

Merci :)

Gasp
Nouveau WRInaute
 
Messages: 2
Inscription: Mar Jan 22, 2008 10:48

Message le Jeu Mar 13, 2008 15:58

Ça n'intéresse personne ? :cry:


Greendog
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Mar Mar 18, 2008 11:12

Re: Script php Anti aspirateur.

Message le Ven Mar 13, 2009 13:30

Dès qu'il y'a un while il est préférable de faire une requête supplémentaire en amont pour fixer une limite aux nombres de résultats qui vont sortir. Cela évite les while à l'infinie en cas d'attaque...

slemerre
Nouveau WRInaute
 
Messages: 3
Inscription: Mar Fév 03, 2009 11:38

Re: Script php Anti aspirateur

Message le Ven Mar 20, 2009 21:19

Code: Tout sélectionner
//ligne 86
$Vua   = $HTTP_SERVER_VARS["HTTP_USER_AGENT"];
//ligne 113
if ($Vcpt == 0) mysql_query("INSERT into ip (id, ua, ip, date, cpt) values ('', '$Vua', '$Vip', '$Vdate', '1')");


passe ton safe_mode à on, c'est gros :D

lyonist
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 184
Inscription: Mar Aoû 05, 2008 19:32

Re: Un nouveau script pour ce protéger efficacement

Message le Ven Mai 22, 2009 18:20

misfu a écrit:Bonjour,

Après avoir subit des attaques récemment, j'ai remis à jour un script php qui semble très bien fonctionner pour moi après quelques tests.
Je vous donne donc le lien : http://www.misfu.com/information-sur-le-fichier-375.html

J'aimerai quand même avoir l'avis des experts du forum sur ce script :D
Si certains d'entre vous le souhaitent, je peux afficher ici le contenue de mon fichier listeiprobots.php


Deny from google, yahoo, live... aussi ?

Script php Anti aspirateur.

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités