A voir également:
- Détection carte réseau avec php
- Carte d'identité - Accueil - Services publics
- Pile carte mere - Guide
- Changer carte graphique - Guide
- Entrer les informations d'identification reseau - Guide
- Le message n'a pas été envoyé car le service n'est pas activé sur le réseau - Forum Xiaomi
9 réponses
php travaille coté serveur. Si il detecte une carte réseau, ce sera celle du serveur, mais php est plus haut que ca
il est possible avec PHP d'appeller des commandes système grace à la fonction exec. Donc si ton serveur est sous linux, une commande ifconfig, ou iwconfig pourrait renvoyer les info que tu cherche, sous windows ce serait plutot ipconfig...
il est possible avec PHP d'appeller des commandes système grace à la fonction exec. Donc si ton serveur est sous linux, une commande ifconfig, ou iwconfig pourrait renvoyer les info que tu cherche, sous windows ce serait plutot ipconfig...
studentw
merci Nabla's de votre réponse mais je veux savoir est ce que php permet de détecter la carte réseau du pc car mon projet demande celà enfaite mon projet consiste à réaliser un messanger d'un réseau local et aussi de choisir une carte réseau si le pc à + qu'une et je veux le développer avec php
comme je te disais, PHP ne permet pas de faire ceci directement, mais tu peux obtenir tes informations en faisant un appel systeme aux applications réseaux depuis php avec la commande exec www.manuelphp.com/php/function.exec.php
pour savoir si t'es sur linux ou windows: https://forums.commentcamarche.net/forum/affich-16410881-detection-carte-reseau-avec-php#2
et la commande à appeller:
windows: ipconfig
unix: ifconfig et iwconfig
pour savoir si t'es sur linux ou windows: https://forums.commentcamarche.net/forum/affich-16410881-detection-carte-reseau-avec-php#2
et la commande à appeller:
windows: ipconfig
unix: ifconfig et iwconfig
est ce que php peut détecter la carte réseau du pc
que veux tu dire par detecter ?
si c'est le numéro IP, PHP peut le donner:
si tu es en réseau local avec le serveur ce sera l'adresse IP local du PC,
ex: 192.168...... donc correspondant à l'IP de la carte réseau dans le réseau local
par contre si ton script est sur un serveur "distant" il te donnera le numéro IP du routeur
ex:90.48.........
que veux tu dire par detecter ?
si c'est le numéro IP, PHP peut le donner:
$IP=$_SERVER[REMOTE_ADDR];
si tu es en réseau local avec le serveur ce sera l'adresse IP local du PC,
ex: 192.168...... donc correspondant à l'IP de la carte réseau dans le réseau local
par contre si ton script est sur un serveur "distant" il te donnera le numéro IP du routeur
ex:90.48.........
Dans mon cas:
j'ai un mini réseau local comprenant:
- une Livebox qui est connectée à internet et sert de routeur
- un certain nombre de micros (PC, MAC)
- un micro en Linux qui sert de serveur web de test
si je fais un script php dans lequel je mets:
- si je mets ce script sur mon serveur local de test et l'appelle depuis le navigateur de mon PC, il va me répondre:
Adresse ip=192.168.1.....
c'est l'adresse IP locale de ma carte réseau du PC
- si je mets ce script sur un serveur distant (chez un hebergeur) et l'appelle depuis le navigateur de mon PC, il va me répondre:
Adresse ip=90.48.........
c'est l'adresse IP que Orange a affectée à la Livebox
j'ai un mini réseau local comprenant:
- une Livebox qui est connectée à internet et sert de routeur
- un certain nombre de micros (PC, MAC)
- un micro en Linux qui sert de serveur web de test
si je fais un script php dans lequel je mets:
<?php echo "Adresse ip= ".$_SERVER[REMOTE_ADDR];
- si je mets ce script sur mon serveur local de test et l'appelle depuis le navigateur de mon PC, il va me répondre:
Adresse ip=192.168.1.....
c'est l'adresse IP locale de ma carte réseau du PC
- si je mets ce script sur un serveur distant (chez un hebergeur) et l'appelle depuis le navigateur de mon PC, il va me répondre:
Adresse ip=90.48.........
c'est l'adresse IP que Orange a affectée à la Livebox
$_SERVER[REMOTE_ADDR] renvoie l'adress ip du visiteur il me semble.
d'après ce que comprend, il souhaite connaitre l'ip de son ordinateur.
l'ensemble des IP de l'ordi est acecssible via les commadnes décrites plus haut (s'il donnait son systeme (linux ou windows), je lui donnerai bien un code....
il faut aussi savoir que le serveur apache n'écoute pas forcement sur toutes les adresses IP du PC (dans le fichier httpd.conf, après l'instruction listen, n peut specifier els adresses IP, ce qui permet par exemple, si on est connecté à deux réseaux différents, l'un en wifi et l'autre en ethernet par exemple, de n'écouter que sur l'une des deux interface. L'utilisation courante est de n'écouter que sur 127.0.0.1, c'est à dire de n'accepter que les connexions venant du serveur (très utile pour pas que les membres du réseau voient ce que vous développez)
d'après ce que comprend, il souhaite connaitre l'ip de son ordinateur.
l'ensemble des IP de l'ordi est acecssible via les commadnes décrites plus haut (s'il donnait son systeme (linux ou windows), je lui donnerai bien un code....
il faut aussi savoir que le serveur apache n'écoute pas forcement sur toutes les adresses IP du PC (dans le fichier httpd.conf, après l'instruction listen, n peut specifier els adresses IP, ce qui permet par exemple, si on est connecté à deux réseaux différents, l'un en wifi et l'autre en ethernet par exemple, de n'écouter que sur l'une des deux interface. L'utilisation courante est de n'écouter que sur 127.0.0.1, c'est à dire de n'accepter que les connexions venant du serveur (très utile pour pas que les membres du réseau voient ce que vous développez)
dans son cas, je pense qu'il faut soit :
- paramettrer apache (en dur) dans le fichier httpd.conf
- faire un script php qui modifie httpd.conf (c'est sale)
- soit mettre apache ecoutant sur toutes les IP (donc LISTEN 80), faire ce que je disais en haut, récuperer les IP, et essayer de voir si on peut trouver l'IP du serveur utilisé pour une instance du script... et j'ai du mal a voir comment faire
si on connaissait exactement les conditiosn d'utilisation (intranet, extranet, etc...), ce qu'on veut utiliser, bloquer, etc, on pourrait peut etre trouver un moyen détourné, notemment avec le $_SERVER[REMOTE_ADDR]
- paramettrer apache (en dur) dans le fichier httpd.conf
- faire un script php qui modifie httpd.conf (c'est sale)
- soit mettre apache ecoutant sur toutes les IP (donc LISTEN 80), faire ce que je disais en haut, récuperer les IP, et essayer de voir si on peut trouver l'IP du serveur utilisé pour une instance du script... et j'ai du mal a voir comment faire
si on connaissait exactement les conditiosn d'utilisation (intranet, extranet, etc...), ce qu'on veut utiliser, bloquer, etc, on pourrait peut etre trouver un moyen détourné, notemment avec le $_SERVER[REMOTE_ADDR]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je tacherai de trouver un moment moment pour te faire (ou trouver) un script donnant l'ensemble des IP de ton serveur. (d'ailleurs, juste IPv4 ou IPv6 aussi ?).
Perso je te donnerai un exemple focntionnant sur XP.
il faudrais que tu explique mieux le blocage que tu souhaite faire... es ce que c'est un blocage static (permanant), dynamique (pouvant etre modifié via uen page php par exemple). es ce que c'est un blocage juste pour une page / site ou pour tout le contenu du serveur ?
n'oublies pas que plus tu détailles, plus nous pouvons être précis dans nos réponses
Perso je te donnerai un exemple focntionnant sur XP.
il faudrais que tu explique mieux le blocage que tu souhaite faire... es ce que c'est un blocage static (permanant), dynamique (pouvant etre modifié via uen page php par exemple). es ce que c'est un blocage juste pour une page / site ou pour tout le contenu du serveur ?
n'oublies pas que plus tu détailles, plus nous pouvons être précis dans nos réponses
tiens, j'ai fait ce script, qui te liste les IP de ton ordi.
chez moi, il ne liste pas l'interface de loopback (127.0.0.1).
on pourrait faire ca beaucoup mieux, en enregistrant les infos dans des ojects, mais je te laisse le soin d'approfondir et publier les ajouts que tu y ferais:
chez moi, il ne liste pas l'interface de loopback (127.0.0.1).
on pourrait faire ca beaucoup mieux, en enregistrant les infos dans des ojects, mais je te laisse le soin d'approfondir et publier les ajouts que tu y ferais:
<?php $cartes = array(); //tableau de stockage des IP de la machine $index = 0; //index gardant le nombre d'IP stockées exec("ipconfig",$sortie); //execution de la commande systeme d'information réseau foreach($sortie AS $indice => $valeur) //traitement de chaque ligne retournée if (substr(trim($valeur),0,10)=="Adresse IP") //si la ligne est un retour d'adresse IP $cartes[$index++] = substr(strstr($valeur,":"),2); //enregistrement de l'ip, et incrémentation du compteur $index echo "Votre ordi a ".$index." IP(s): <br/>"; //affichage des infos foreach($cartes AS $indice => $valeur) echo $valeur."<br />"; ?>
avec la solution proposée par notre ami Nabla's,il faut que tu ai sur chaque pc ou tu veux faire le test que wamp ou easy php soit installé
et le script doit être dans le repertoire www de wamp par exemple et tu appelles le script depuis ton navigateur
car la commande exec("ipconfig",$sortie) ne s'éxécute que sur la machine ou est le script php
et le script doit être dans le repertoire www de wamp par exemple et tu appelles le script depuis ton navigateur
car la commande exec("ipconfig",$sortie) ne s'éxécute que sur la machine ou est le script php
oui, c'est bien ce que je disais dans le post 1. On detecte la carte reseau du serveur. Je pense que c'est ce qu'il veut. sinon, pour la carte réseau du client, en faisant simple, on ne peut detecter que celle qui est utilisé pour contacter le serveur. Pour detecter les autres, je ne vois pas de manière autre que les activeX (caca) ...