Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Unikalny numer komputera
Forum PHP.pl > Forum > Przedszkole
konsument
Witajcie, potrzebuję w php wygenerować unikalny numer komputera, coś jak numer mac karty sieciowej. W sumie to mac też byłby dobry, ale z poziomu php ciężko go odczytać na LAMPie odpalonym pod Win7. Dziękuję za wszelkie sugestie.
Posio
Najlepszym sposobem byłoby pobranie wszystkich możliwych STAŁYCH wartośći clienta, które możemy pobrać i zakodować je (wystarczy wymieszanie - z przyjętą regułą lub po prostu md5)

Odradzam w tym przypadku pobieranie np IP ponieważ zależnie od usera, może się zmieniać lecz nie musi.
konsument
Stałe wartości - tzn?
Damonsson
Nie ma żadnych stałych wartości. Można zmienić ip, przeglądarkę, rozdzielczość, język itd.
Możesz próbować z http://samy.pl/evercookie/ ale to i tak nie jest doskonałe.
konsument
Może napiszę co chciałbym osiągać. Na pewnym komputerze na localhoscie będzie zainstalowana aplikacja w php. Jak uchronić się "w prymitywny" sposób przed wykonaniem kopii na inny komputer. Czyli przypisać aplikację do jednego komputera (np. poprzez ustawienie wartości w config.php)
Sephirus
To naprawdę byłby prymitywny sposób... Nie możesz zawrzeć takiego zabezpieczenia w kodzie, który jest dostepny w najłatwiejszy możliwy sposób do edycji...

IMHO - to się mija z celem dla PHP... Gdyby to był jakiś język kompilowany i zawarłbyś tą "stałą" wartość komputera w kodzie to ok... ale przecież w takim configu każdy może pogrzebać wink.gif
sowiq
Nie da się tego osiągnąć, a przynajmniej nie w sposób o jakim piszesz. Przecież to żaden problem skopiować dowolne pliki konfiguracyjne. Ewentualnie w plikach źródłowych aplikacji znaleźć jakie rzeczy są weryfikowane i 1.: usunąć weryfikację z kodu, 2.: ustawić te rzeczy tak, żeby przechodziły weryfikację.

Co może Ci pomóc to narzędzia do kodowania plików źródłowych PHP. Zainteresuj się ionCube oraz ZendGuard. Musisz tylko pamiętać, że nie ma 100% sposobu na zaszyfrowanie plików. Są w internecie serwisy, które za cenę kilku $ rozkodowują takie pliki.
konsument
Szukam rozwiązania maksymalnie PROSTACKIEGO, które uniemozliwi przegranie aplikacji na inny komputer i wyświetli "nieautoryzowe użycie". A jak ktos zerknie w kod to wiadomo, że sobie wyłączy sprawdzenie albo wpisze poprawną wartość pseudokodu.
Z poziomu php najlatwiej byloby użyć numer IP, ale on zmienny dosyć.
Sephirus
Takie rzeczy rozwiązuje się inaczej z tego co mi wiadomo i z czym się spotkałem.

Przede wszystkim...

Nie dawaj kodu nikomu. Zamiast całej aplikacji daj jedynie klienta API i jego ewentualną obsługę. Aplikację główna wraz z głównym kodem i funkcjonalnością możesz dać jako webservice. Klient przy pomocy odpowiedniego hasła itd itp łączy się z webservice i ma przez to jego funkcjonalność. Sam skrypt posiadany przez gościa nic nie jest wart bez klucza/hasła API itd..

Niestety to rozwiązanie nie nadaje się do wszystkiego... i źle zrobione ma baaaardzo małą wydajność. Ale jeśli już ktoś powiedzmy zapłaci za "klucz" to nie odda go raczej nikomu za darmo. Dodatkowo każdy dostęp z danego klucza może być logowany przez co możesz odpowiednio szybko i łatwo zorientować się, że ktoś coś kręci.

Moim zdaniem naprawdę to co próbujesz uzyskać dla PHP nie ma po prostu sensu tak jak to planujesz...
sowiq
Cytat(konsument @ 7.02.2013, 12:24:38 ) *
Szukam rozwiązania maksymalnie PROSTACKIEGO


  1. if(!is_file(APP_DIR . '/../moj_super_tajny_plik.secure')){
  2. throw new Exception("Nieautoryzowe użycie");
  3. }


Tak jak napisał Sephirus i zostało napisane już wcześniej - bardziej skomplikowanego rozwiązania nie ma sensu tworzyć kiedy przekazujesz kod źródłowy klientowi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.