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 :

Détection Tor Browser [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 303
    Points : 269
    Points
    269
    Par défaut Détection Tor Browser
    Bonjour à tous,

    Je viens de m'apercevoir que le site http://exitlist.torproject.org/ n'est plus valide. donc impossible de vérifier si l'utilisateur utilise Tor.

    Il y a t’il une autre possibilité de vérifier si l'utilisateur utilise Tor ?

    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
    <?php
     
    function IsTorExitPoint(){
        if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
            return true;
        } else {
           return false;
        } 
    }
     
    function ReverseIPOctets($inputip){
        $ipoc = explode(".",$inputip);
        return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
    }
     
     if(IsTorExitPoint()){
        echo 'Vous utilisez Tor !';
     } else {
        echo 'Vous n’utilisez pas Tor !';
     }
    ?>
    Merci

  2. #2
    Membre actif Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 303
    Points : 269
    Points
    269
    Par défaut
    J'ai trouvé une liste avec les adresses IP de Tor https://check.torproject.org/torbulkexitlist

  3. #3
    Membre actif Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 303
    Points : 269
    Points
    269
    Par défaut
    https://check.torproject.org/cgi-bin/TorBulkExitList.py

    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
     <?php
    function checkTORconnection()
    {
      $ips       = file('https://check.torproject.org/cgi-bin/TorBulkExitList.py');
      $iptocheck = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : false;
      $isfound   = false;
      if ($ips && $iptocheck) {
        for ($i = 0; count($ips) > $i; $i++) {
          if (trim($ips[$i]) == $iptocheck) {
            $isfound = true;
          }
        }
        if ($isfound) {
          return true;
        }
        return false;
      }
      return true;
    }
     
    if (checkTORconnection()) {
      echo 'Vous utilisez Tor !';
    } else {
      echo 'Vous n’utilisez pas Tor !';
    }
    ?>

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function checkTORconnection(): bool
    {
        $ips = file_get_contents('https://check.torproject.org/cgi-bin/TorBulkExitList.py');
        if ($ips) {
            $ips       = explode("\n", $ips);
            $iptocheck = $_SERVER['REMOTE_ADDR'] ?? false;
            if ($ips && $iptocheck) {
                return ( ! empty(array_intersect($ips, $iptocheck)));
            }
        }
        return false;
    }

  5. #5
    Membre actif Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 303
    Points : 269
    Points
    269
    Par défaut
    Bonjour rawsrc, j'ai testé la fonction avec Tor, elle ne fonctionne pas la fonction me retourne tout le temps False.

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    attends je teste,
    la collecte des adresses IP Tor fonctionne, je récupère un tableau de 1 384 éléments.
    J'ai lancé le navigateur Tor et suis allé récupéré l'adresse de mon nœud de sortie.

    J'ai oublié de mettre $iptocheck en format tableau => moi = âne

    voici le code corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return ( ! empty(array_intersect($ips, [$iptocheck])));
    et ça fonctionne, ouf !

  7. #7
    Membre actif Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 303
    Points : 269
    Points
    269
    Par défaut
    Merci rawsrc, sa fonctionne impeccable

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2017, 19h13
  2. installer tor browser sous ubuntu
    Par datalandia dans le forum Linux
    Réponses: 3
    Dernier message: 14/09/2016, 20h26
  3. Réponses: 0
    Dernier message: 01/06/2016, 15h05
  4. web browser TOR nouvelle ip adresse à chaque fois
    Par mapmip dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 02/04/2015, 16h42
  5. Réponses: 11
    Dernier message: 24/03/2006, 14h43

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