Pozdrav, da li je moguće preko php-a pročitati serijski broj hard diska? Nije bitno server ili klijent, bilo koji, radi se o zaštiti programa.
HDD serial number
Zaključano
Zakačeno
Mislim da direktno ne može, ali svakako može da pokrene program koji će pročitati taj broj i vratiti ga PHP-u.
Naravno, govorim o serijskom broju diska na serveru.
Naravno, govorim o serijskom broju diska na serveru.
Potpis
Ni JavaScript-om, koji je client-side jezik, a kamoli PHP-om, tako nešto jednostavno nije moguće, a i da jeste, to bi predstavljalo ogroman bezbednosni rizik. Doduše, u PHP-u postoji funkcija shell_exec, koja omogućava da izvršiš neku komandu iz shell-a, npr. dir ili hdparm, preko kojih možeš da dobiješ željenu informaciju o HDD-u, ali opet, te informacije se odnose na hard disk servera na kome je pohranjena tvoja aplikacija/sajt, a ne na klijentov HDD, za kojeg su, pretpostavljam, tebi potrebne informacije.
Ako je tako nešto uopšte moguće, onda bi po mom mišljenju jedini način za to bila upotreba ActiveX kontrola.
Ako je tako nešto uopšte moguće, onda bi po mom mišljenju jedini način za to bila upotreba ActiveX kontrola.
Ok Nikola, hvala na odgovoru ali i treba mi serijski broj servera. Možeš li mi dati detaljniju informaciju o komandi kojom iz shell-a mogu procitati?
Radi se o windows mašini.
Radi se o windows mašini.
Što se Windows-a tiče, sa funkcijama shell_exec, exec, system možeš da izvršiš neku komandu koju bi izvršio iz Command prompt-a. Ja sad stvarno ne znam koja Windows komanda vraća informaciju o serijskom broju HDD-a, ali pretpostavljam da se to realizuje preko WMI-a... Google-aj malo, shell_exec windows hdd serial, ili tako nešto...
Citat:
Ja sad stvarno ne znam koja Windows komanda vraća informaciju o serijskom broju HDD-a
Treba napraviti razliku izmedju broja particije (lako promenljivog) i hardverskog broja diska (na koga ne utice FORMAT i sl).
U vezi hardverskog broja:
http://www.winsim.com/diskid32/diskid32.html
X files, video sam ovo na delu foruma o c++, ali nisam siguran kako da to iskoristim u vezi php-a. Na koji način da povežem diskid32.exe i da potrebne podatke dobijem u nekoj promenljivoj?
Našao sam ako nekome bude trebalo, mislim da radi samo pod windowsom i čita volumelabel što meni radi posao, testirao sam uspešno na win 7:
X files ako budeš hteo da postuješ ovde bilo kakav način za proveru hardverskog broja - unapred hvala.
Code:
<?php
function GetVolumeLabel($drive) {
// Try to grab the volume name
if (preg_match('#Volume Serial Number is (.*)\n#i', shell_exec('dir '.$drive.':'), $m)) {
$volname = ' ('.$m[1].')';
} else {
$volname = '';
}
return $volname;
}
$serial = str_replace("(","",str_replace(")","",GetVolumeLabel("C")));
echo $serial;
?>
<?php
function GetVolumeLabel($drive) {
// Try to grab the volume name
if (preg_match('#Volume Serial Number is (.*)\n#i', shell_exec('dir '.$drive.':'), $m)) {
$volname = ' ('.$m[1].')';
} else {
$volname = '';
}
return $volname;
}
$serial = str_replace("(","",str_replace(")","",GetVolumeLabel("C")));
echo $serial;
?>
X files ako budeš hteo da postuješ ovde bilo kakav način za proveru hardverskog broja - unapred hvala.
Taj volume serial number se menja vrlo lako, a menja se i pri formatiranju particije.
Kao što već rekoh, mislim da je bolje imati C++ program koji će pročitati serijski broj diska, i onda ga pozoveš ovako nekako:
Kao što već rekoh, mislim da je bolje imati C++ program koji će pročitati serijski broj diska, i onda ga pozoveš ovako nekako:
Code (php):