récupérer n° du Disque dur en php ?

chromoD

Membre junior
9 Octobre 2005
35
0
Bonjour à tous,

je me demande s'il est possible, en PHP, de récupérer le n° du disque dur d'un ordinateur qui se connecte à mon site (ou un n° permettant d'identifier de façon certaine un ordibateur) ...

:)

merci
 

fissunix

Membre confirmé
12 Avril 2004
290
17
37
Fribourg (CH)
www.contesse.ch
Hello,

Tu peux le faire avec l'adresse IP qui est unique sur un réseau. Cela dépend pourquoi tu cherches à identifier le client. C'est une manière simple d'avoir un historique des visites de ton site par exemple.

Tu peux utiliser la variable globale $_SERVER['REMOTE_ADDR'] pour la récupérer.

A+
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
chromoD a dit:
Bonjour à tous,

je me demande s'il est possible, en PHP, de récupérer le n° du disque dur d'un ordinateur qui se connecte à mon site (ou un n° permettant d'identifier de façon certaine un ordibateur) ...

:)

merci
Le PHP tourne côté serveur. Pour que le numéro du disque soit disponible de ce côté de la liaison, cela suppose qu'il soit transmis sur Internet par le client.

Comme cette fonctionnalité n'est pas prévue à la base, il faudrait qu'un logiciel implanté côté client se charge de mettre l'information à la disposition du navigateur (en l'insérant dans un cookie ou dans une variable d'environnement, par exemple).

Pour un utilisateur lambda, c'est exclus, et c'est normal du point de vue sécurité.


En utilisant les cookies, il est toutefois possible de reconnaître un ordinateur qui se serait déjà connecté. Ce n'est pas une solution fiable à 100 %, car les ccokies peuvent être effacés ou inactifs.
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
fissunix a dit:
Hello,

Tu peux le faire avec l'adresse IP qui est unique sur un réseau. Cela dépend pourquoi tu cherches à identifier le client. C'est une manière simple d'avoir un historique des visites de ton site par exemple.

Tu peux utiliser la variable globale $_SERVER['REMOTE_ADDR'] pour la récupérer.

A+
Le problème, c'est que l'adresse IP peut ne pas reflèter la véritable identité du client.

Le passage par un routeur fait disparaître l'information recherchée. 'REMOTE_ADDR' retourne l'adresse du routeur, pas celle du client.

De plus les adresses IP fixées par DHCP peuvent évoluer dans le temps, et être réattribuées à d'autres machines. Chez moi, je change d'adresse IP à chaque reconnexion à mon FAI.
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
44
Ottawa
chromoD a dit:
merci pour vos réponses et tant pis, ça m'aurait simplifié la vie....



:)
Pour un intranet donc "sur un même réseau"
Tu pourrais utiliser cette fonction qui retourne l'adresse MAC: je n'ai pas testé ;)

Bloc de code:
function returnMacAddress() {
// This code is under the GNU Public Licence
// Written by michael_stankiewicz {don't spam} at yahoo {no spam} dot com
// Tested only on linux, please report bugs

// WARNING: the commands 'which' and 'arp' should be executable
// by the apache user; on most linux boxes the default configuration
// should work fine

// Get the arp executable path
$location = `which arp`;
// Execute the arp command and store the output in $arpTable
$arpTable = `$location`;
// Split the output so every line is an entry of the $arpSplitted array
$arpSplitted = split("\n",$arpTable);
// Get the remote ip address (the ip address of the client, the browser)
$remoteIp = $GLOBALS['REMOTE_ADDR'];
// Cicle the array to find the match with the remote ip address
foreach ($arpSplitted as $value) {
// Split every arp line, this is done in case the format of the arp
// command output is a bit different than expected
$valueSplitted = split(" ",$value);
foreach ($valueSplitted as $spLine) {
if (preg_match("/$remoteIp/",$spLine)) {
$ipFound = true;
}
// The ip address has been found, now rescan all the string
// to get the mac address
if ($ipFound) {
// Rescan all the string, in case the mac address, in the string
// returned by arp, comes before the ip address
// (you know, Murphy's laws)
reset($valueSplitted);
foreach ($valueSplitted as $spLine) {
if (preg_match("/[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f]/i",$spLine)) {
return $spLine;
}
}
}
$ipFound = false;
}
}
return false;
}
Marc-André :)
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
chromoD a dit:
Bonjour à tous,

je me demande s'il est possible, en PHP, de récupérer le n° du disque dur d'un ordinateur qui se connecte à mon site (ou un n° permettant d'identifier de façon certaine un ordibateur) ...

:)

merci
Parfois je me demande, si l'aide que nous apportons n'est pas utilisée à mauvais escient ?
Quel est l'apport obbjectif de connaître "le numéro du disque dur" ?
Je n'apprécie guère le "flicage" qui peut en découler... Peut-être pourrais-tu éclairer notre lanterne à ce sujet ?
 

bugman

Yippee-ki-yay !
Club MacG
27 Juin 2004
1 807
208
Lille (tiot'biloute)
Lut,

Si tu veux identifier de façon certaine les personnes venant sur ton site, tu peux demander que les utilisateurs s'inscrivent sur celui-ci et leurs donner un login et un mot de passe (à crypter dans ta BDD).

Comme les auteurs des deux messages precedents, je suis plutot contre le flicage (le fait de recuperer des informations uniques sur les machines des utilisateurs : numero du disque dur, adresse MAC ou numero du microprocesseur (qui a dit Pentium 3 ?)).

@ bientot,
Bonne continuation pour ton site,
Bug.
 

AntoineD

Membre d’élite
10 Juillet 2003
2 957
270
38
Parïs / Fr@nce
www.antoinedoyen.net
chromoD a dit:
Bonjour à tous,

je me demande s'il est possible, en PHP, de récupérer le n° du disque dur d'un ordinateur qui se connecte à mon site (ou un n° permettant d'identifier de façon certaine un ordibateur) ...

:)

merci
Oui, tiens, c'est pour quel usage ?...
 

Huntress

Nouveau membre
9 Janvier 2006
1
0
Bonjour,

Moi aussi je serais très intéressée par ça, et ce n'est pas (enfin pour moi) une question de flicage comme dirait certain.

C'est pour sécuriser une application histoire qu'elle soit installée sur un seul et unique poste. Donc sur ce poste il y aurait Apache PHP MySQL et l'application.

Alors est-ce que qq'un aurait une idée ? Est-ce que c'est possible ?

Merci d'avance.