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 :
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.
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); ?>
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 ?
Partager