Alors premièrement merci à tous de vos réponses.
Je vais ensuite enchainer sur une réponse individuelle:
@rthur: Je vais essayer d'expliquer mon problème avec tes termes:
J'ai un demandeur (avec une adresse ip "A.A.A.A") qui va s'adresser à mon serveur (adresse ip "B.B.B.B") via un protocole soap. Et ce dernier va répondre au client ("A.A.A.A").
Mon problème se situe directement au niveau du serveur, récupérer l'adresse ip du client alors que la requête vient d'un protocole soap. J'avais déjà testé mais je l'ai refais car je ne souhaite pas dénigrer le temps que vous avez pris pour moi. Les variables d'environnements $_SERVER ne me renvoie que les données de mon serveur "B.B.B.B" ce qui est logique puisque je les demande sur mon serveur. Donc on peut oublier cette idée.
Dr@ke: je n'avais pas du tout pensé au fichier access.log. Une fois que j'ai lu ton post je me suis dit "Bingo c'est ça qu'il me faut"!! Mais j'ai tout de suite déchanté. Premier problème, il me faut un accès root pour accéder à ce fichier et je ne peux me permettre de donner l'accès root à mon api sur mon serveur. Ce serait beaucoup trop dangereux. Ensuite, si la solution se trouvait la, je ne pouvais pas la laisser inexplorée et donc j'ai poussé un peu dans ce sens. Et la encore il y a eu un problème. Dans ce fichier j'ai bien les connexion à mon api sous forme de ligne text mais imaginons une dizaine de client qui se connectent en même temps, comment savoir quel ip appartient à quel client? Donc encore une fois cette idée est à exclure.
Je vais chercher du coté de l'iptable
stopher: j'avoue ne pas avoir compris ce que tu me proposes. La connexion à mon api (comme la majeur partie des api) ne demande qu'un couple login/mot de passe. Il faut garder à l'esprit que l'accès à cette api se fait via le protocole soap, aucune clef n'est nécessaire. Et l'adresse ip, je cherche à l'obtenir de manière invisible pour client. Ce dernier ne doit me fournir que ses identifiants, sinon ca ne fait que rajouter un second mot de passe au schmilblick ^^
De plus oui je confirme que la variable $_SERVER[REMOTE_ADDR] est bien renseignée, c'est logique je suis sur un serveur. Mais cette variable me renvoie l'ip de "mon" serveur, celui la même ou se trouve mon api or, ce que je souhaite obtenir, c'est l'ip de client qui se connecte à mon serveur via protocole soap.
Je pense avoir répondu à tout le monde. Gardez à l'esprit que mon but est de trouver un moyen d'obtenir l'adresse ip de mon client qui se connecte "via soap", la est toute la difficulté du problème. Pour l'instant je pars sur la fameuse iptable
Encore merci à tous de me donner un peu de votre temps!
Alors premièrement merci à tous de vos réponses.
Je vais ensuite enchainer sur une réponse individuelle:
@rthur: Je vais essayer d'expliquer mon problème avec tes termes:
J'ai un demandeur (avec une adresse ip "A.A.A.A") qui va s'adresser à mon serveur (adresse ip "B.B.B.B") via un protocole soap. Et ce dernier va répondre au client ("A.A.A.A").
Mon problème se situe directement au niveau du serveur, récupérer l'adresse ip du client alors que la requête vient d'un protocole soap. J'avais déjà testé mais je l'ai refais car je ne souhaite pas dénigrer le temps que vous avez pris pour moi. Les variables d'environnements $_SERVER ne me renvoie que les données de mon serveur "B.B.B.B" ce qui est logique puisque je les demande sur mon serveur. Donc on peut oublier cette idée.
Dr@ke: je n'avais pas du tout pensé au fichier access.log. Une fois que j'ai lu ton post je me suis dit "Bingo c'est ça qu'il me faut"!! Mais j'ai tout de suite déchanté. Premier problème, il me faut un accès root pour accéder à ce fichier et je ne peux me permettre de donner l'accès root à mon api sur mon serveur. Ce serait beaucoup trop dangereux. Ensuite, si la solution se trouvait la, je ne pouvais pas la laisser inexplorée et donc j'ai poussé un peu dans ce sens. Et la encore il y a eu un problème. Dans ce fichier j'ai bien les connexion à mon api sous forme de ligne text mais imaginons une dizaine de client qui se connectent en même temps, comment savoir quel ip appartient à quel client? Donc encore une fois cette idée est à exclure.
Je vais chercher du coté de l'iptable ;)
stopher: j'avoue ne pas avoir compris ce que tu me proposes. La connexion à mon api (comme la majeur partie des api) ne demande qu'un couple login/mot de passe. Il faut garder à l'esprit que l'accès à cette api se fait via le protocole soap, aucune clef n'est nécessaire. Et l'adresse ip, je cherche à l'obtenir de manière invisible pour client. Ce dernier ne doit me fournir que ses identifiants, sinon ca ne fait que rajouter un second mot de passe au schmilblick ^^
De plus oui je confirme que la variable $_SERVER[REMOTE_ADDR] est bien renseignée, c'est logique je suis sur un serveur. Mais cette variable me renvoie l'ip de "mon" serveur, celui la même ou se trouve mon api or, ce que je souhaite obtenir, c'est l'ip de client qui se connecte à mon serveur via protocole soap.
Je pense avoir répondu à tout le monde. Gardez à l'esprit que mon but est de trouver un moyen d'obtenir l'adresse ip de mon client qui se connecte "via soap", la est toute la difficulté du problème. Pour l'instant je pars sur la fameuse iptable :)
Encore merci à tous de me donner un peu de votre temps!