IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

code php anti proxy


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut code php anti proxy
    Bonjour,

    Voila j'ai trouvé un code php anti proxy qui fonctionne très bien a un truc prêt.

    Il me bloque bien le bot proxy qui viens blindé ma base sql avec des faux user (enregistrement pseudo foireux).

    Mais le souci c'est que certaine personne qui son réelle et qui ne passe pas par proxy sa arrive qu'il sois aussi bloqué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?php
     
    /*
    Script anti-proxy, Créer par Stargatemaster
    */
     
    $headers = array ($_SERVER['HTTP_VIA'], $_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['HTTP_FORWARDED_FOR'], $_SERVER['HTTP_X_FORWARDED'], $_SERVER['HTTP_FORWARDED'], $_SERVER['HTTP_CLIENT_IP'], $_SERVER['HTTP_FORWARDED_FOR_IP'], $_SERVER['VIA'], $_SERVER['X_FORWARDED_FOR'], $_SERVER['FORWARDED_FOR'], $_SERVER['X_FORWARDED'], $_SERVER['FORWARDED'], $_SERVER['CLIENT_IP'], $_SERVER['FORWARDED_FOR_IP'], $_SERVER['HTTP_PROXY_CONNECTION']); // Tableau de variables qui seront vérifié
    $port = array (80, 81, 443, 808, 1080 ,1089 ,3124 ,3127 ,3128 ,6588 ,8000 ,8080 ,8082 ,8118 ,8888 ,25332 ,25552 ,32080); // Tableau des ports qui seront vérifié
    $ip = $_SERVER['REMOTE_ADDR']; // Insert l'adresse ip utilisé pour se connecter au serveur dans une variable
     
    //  Début des variables servant a la modification et a la lecture des fichiers texte
    $fn = fopen("ip_proxy.txt", "a");
    $fa = fopen("ip_scanner.txt", "a");
    $fr = fopen (".htaccess", "a+");
    $fmp = fopen("ip_proxy.txt", "r");
    $fp = fopen("ip_scanner.txt", "r");
    $fc = fgets($fp);
    fclose($fp);
    $fm = fgets($fmp);
    fclose($fmp);
    // Fin des variables servant a la modification et a la lecture des fichiers texte
     
    if (preg_match('#'.$ip.'#', $fc)) // Vérifie si l’ip utilisé pour ce connecté au serveur est déjà dans le fichier ip_scanner.txt
    {} // Si oui on ne fait rien et le scan s’arrête la
        else // Sinon...
        {
    fputs($fa, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_scanner.txt
    fclose($fa);
     
    for ($nom = 0; $nom < 15; $nom++) // Vérification de la présence d’un autre ip derrière l’ip de connexion
    {
    if (isset($headers[$nom])) // Si il y a un autre ip derrière l’ip de connexion...
    {
    if (preg_match('#'.$ip.'#', $fm)) // Vérifie si l’ip de connexion est déjà dans ip_proxy.txt
    {} // Si oui on ne fait rien et le scan s’arrête la (évite les erreurs)
        else // Sinon...
        {
    fputs($fn, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_proxy.txt
    fclose($fn);
    fputs($fr, "\ndeny from ".$ip); //Inscrit l’adresse ip dans le fichier .htaccess (bannis l’adresse ip)
    fclose($fr);
    }
     
        die("Vous utiliser un proxy."); // Arête l’exécution de la page et donne un message d’erreur
    }
     
    else
    {$rep = faux;} // Sinon on inscrit "faux" dans la variable "rep"
     
    }
     
    if ($rep = faux) // Si la valeur de la variable "rep" est "faux"…
    {
    for ($no = 0; $no < 18; $no++) // Vérifie si l’un des ports si dessus est ouvert sur l’ip qui se connecte au serveur
    {
     
    if (@fsockopen( $_SERVER['REMOTE_ADDR'], $port[$no], $errstr, $errno, 1 )) //S’il y a un des ports ouverts…
    {
    if (preg_match('#'.$ip.'#', $fm)) // Vérifie si l’ip de connexion est déjà dans ip_proxy.txt
    {}
        else // Sinon...
        {
    fputs($fn, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_proxy.txt
    fclose($fn);
    fputs($fr, "\ndeny from ".$ip); //Inscrit l’adresse ip dans le fichier .htaccess (bannis l’adresse ip)
    fclose($fr);
    }
    }
    else // Si non on ne fait rien
    {}
     
    }
    }
     
    else // Si non on ne fait rien
    {}
     
    }
    ?>
    Donc je recherche sois un code qui me bloque uniquement les proxy sois comment faire en sort que se code bloque pas mes user mais qui bloque uniquement les proxy


    Cordialement Stéphane,

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Pourquoi vouloir bloquer les proxy ??? Beaucoup d'utilisateur son derrière des proxy et ce même sans être en environnement professionnel.

    Si tu veux bloquer les inscriptions de bot , il suffit de mettre en place un captcha.

    Par exemple re captcha
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bonjour,
    Merci de ton aide
    Je veut mettre un anti proxy uniquement sur la page pour enregistrer les membres pour évité que le Rorbot continue a me blindé ma base sql.

    Quand au captcha j'ai déjà posté sur se forum et même avec l'aide des gens on et pas arrivé.

    D'où ma question si on peut changer le système de captcha uniquement pour la page qui enregistre les pseudos ou trouvé un autre système d'anti proxy qui ne bloque pas en .htaccess et proxy.txt etc..

    Citation Envoyé par grunk Voir le message
    Pourquoi vouloir bloquer les proxy ??? Beaucoup d'utilisateur son derrière des proxy et ce même sans être en environnement professionnel.

    Si tu veux bloquer les inscriptions de bot , il suffit de mettre en place un captcha.

    Par exemple re captcha
    Cordialement Stéphane,

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je suis pas bien sur que tu sache réellement ce qu'est un proxy. Les robots ne passe d'ailleurs pas forcément par des proxy.

    Pour les inscriptions y'a plein de solution pour les protéger :

    - Captcha classique (type recaptcha)
    - Honeypot , un champs caché dans ton formulaire qui ne seras jamais rempli par les humain mais par les robots => possibilité de différencier les deux facilement.
    - Question à la con , avec réponse que seul un humain peut donner.
    - Action javascript que les robots ne pourrons pas faire (ni les utilisateurs sans JS).

    Bref ce n'est pas les solution qui manque , mais essayer de bloquer les proxy n'en fait pas partie.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 207
    Points : 41
    Points
    41
    Par défaut
    Bonjour,
    merci encore de ton aide

    D accord c'est des chose que j'ai déjà essayer et depuis que j'ai trouvé se code anti proxy plus aucune enregistrement de pseudo factice depuis une semaine mais en revanche certain son aussi bloqué a cause que sa le mais dans le .htacess.

    Sinon pour des formulaire avec des phrases et une réponse ou un captcha 2+2 = 4 serieux sois je suis con sois je n'est pas trouvé :$

    Donc je vais regardé du coté de Honeypot , un champs caché dans ton formulaire j'aime bien cette idée donc comme je ne connais pas je vais y regardé sa de suite merci

    Citation Envoyé par grunk Voir le message
    Je suis pas bien sur que tu sache réellement ce qu'est un proxy. Les robots ne passe d'ailleurs pas forcément par des proxy.

    Pour les inscriptions y'a plein de solution pour les protéger :

    - Captcha classique (type recaptcha)
    - Honeypot , un champs caché dans ton formulaire qui ne seras jamais rempli par les humain mais par les robots => possibilité de différencier les deux facilement.
    - Question à la con , avec réponse que seul un humain peut donner.
    - Action javascript que les robots ne pourrons pas faire (ni les utilisateurs sans JS).

    Bref ce n'est pas les solution qui manque , mais essayer de bloquer les proxy n'en fait pas partie.
    Cordialement Stéphane,

Discussions similaires

  1. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58
  2. [GD] Code graphique anti robot
    Par miel_pops dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/03/2005, 00h03
  3. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo