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

chromoD

Membre confirmé
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
 
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+
 
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.
 
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.
 
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é :)
 
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 ?
 
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.
 
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 ?...
 
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.