[ deepwhite @ 10.05.2010. 19:42 ] @
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.
[ Nemanja Avramović @ 10.05.2010. 19:57 ] @
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.
[ Nikola Poša @ 10.05.2010. 20:04 ] @
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.
[ deepwhite @ 10.05.2010. 20:24 ] @
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.
[ Nikola Poša @ 10.05.2010. 21:18 ] @
Š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...
[ X Files @ 10.05.2010. 21:31 ] @
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

[ deepwhite @ 10.05.2010. 22:08 ] @
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?
[ deepwhite @ 10.05.2010. 22:56 ] @
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:

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;
?>




X files ako budeš hteo da postuješ ovde bilo kakav način za proveru hardverskog broja - unapred hvala.
[ Nemanja Avramović @ 11.05.2010. 09:20 ] @
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:

Code (php):
<?php
$output = shell_exec('program_koji_cita_sn_diska.exe');
echo "<pre>$output</pre>";
?>