[ 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. |
[ deepwhite @ 10.05.2010. 19:42 ] @
[ 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): Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|