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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Sockets entre 2 machines


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 64
    Points : 55
    Points
    55
    Par défaut Sockets entre 2 machines
    Hello !

    Voilà mon problème : j'ai des utilisateurs qui se retrouvent parfois bannis de mes 2 serveurs et me contactent pour me demander de confirmer si ils sont bien ban ou pas. Je me connecte donc sur mon serveur, je vérifie iptables et je confirme ou non l'info. C'est chiant et redondant, je me suis dit qu'il serait plus simple de les envoyer sur une page PHP exécutée sur un serveur neutre (qu'on appellera A) dans laquelle je leur balance directement cette info, le top du top étant de faire ça avec les sockets (plutôt que de parcourir les règles iptables en php).

    Pour test, j'ai donc écris le code suivant :

    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
    <?php
    $server = array ('212.27.48.10', '80');
    $myip = '88.121.151.21';
     
    function test($server) {
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    socket_bind($socket, $myip);
    socket_connect($socket, $server['ip'], $server['port']);
     
    // mode local : le serveur teste a la place de myip
    //    $socket = @fsockopen($server['ip'], $server['port'], $errorNo, $errorStr, 3);
    // if ($errorNo == 0) {
    //    return true;
    // } else {
    //    return false;
    // }
     
    if ($socket === false) {
            $errorcode = socket_last_error();
            $errormsg = socket_strerror($errorcode);
     
            die("Impossible de créer le socket : [$errorcode] $errormsg");
    }
     
     
    }
    test($server);
     
    ?>
    L'idée c'est que je récupère $myip plus haut, qui est l'ip de mon utilisateur. Le tableau $server contient les données de mon serveur distant (qu'on appelera serveur B). Et j'exécute le tout sur un serveur A.

    Mon problème est que j'ai l'impression que la connexion s'établit non pas entre mon client et B, mais entre mon client et A ! Ce qui n'est strictement pas ce que je veux faire !
    Je veux vraiment que depuis mon serveur A, mon client puisse tester sa connectivité vers B.

    Est-ce possible ? Si oui, comment ?

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    si c'est le script sur le serveur A qui se connecte avec c'est le code PHP du serveur A qui est le client, je ne pense pas que ça soit possible de se faire passer pour l'utilisateur bloqué.

    pour automatiser ce test de bannissement, je pense que vous devriez donner l'adresse du script aux utilisateurs.
    donc quand l'utilisateur arrive sur cette page, le script récupère l'adresse IP dans $_SERVER et va interroger un script sur le serveur B pour savoir si l'adresse IP est filtrée ou non.
    et sur le serveur B, le script PHP va lire les fichiers d'iptables pour savoir si l'adresse IP est filtrée.

Discussions similaires

  1. transfert de socket entre machines
    Par DakM dans le forum C++
    Réponses: 8
    Dernier message: 20/04/2013, 23h40
  2. Probleme de WOL entre 2 machines
    Par Nemesys dans le forum Hardware
    Réponses: 3
    Dernier message: 03/07/2006, 17h32
  3. faire le lien entre 2 machines distantes
    Par jeje.r dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 05/05/2006, 11h15
  4. Quelle solution pour un transfert sécurisé entre deux machines
    Par choubiroute dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 21/04/2006, 11h20
  5. Réponses: 3
    Dernier message: 30/03/2004, 09h38

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