Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zabezpieczenie przed skopiowaniem
Forum PHP.pl > Inne > Hydepark
ElemenT
Jak najlepiej zabezpieczyc swoje rozwiazania przed kradzieza.
Przypuscmy ze siedzicie nad swoim programem pare miesiecy i sprzedajecie go jakiejs firmie na zasadzie licencji, gdzie zawieracie infomracje ze nie moga kopiowac ani sprzedawac, itp.

Umieszczacie na serwerze firmy. Skad macie wiedziec co sie dzieje dalej z systemem i czy postanowienia z umowy nie zostaly naruszone i jakis informatyk z firmy sobie tego nie skopiowal i nie sprzedal 2 informatykowi a ten podpisal sie pod systemem i sprzedawal go jako swoj.

Jak byscie zaprojektowali system kontroli "lokalizacji" systemu. Myslalem wstepnie o zakodowanym skrypcie javy, ktory otwieral by lokalizacje z mojego serwera, a serwer zczytywal by adres z ktorego zostaly pobrane dane.
Niby proste rozwiazanie, ale latwe do wykrycia.

Inny sposob to uruchomienie programu ktory by sie laczyl z naszym skryptem, ale wtedy musial by on byc ukryty w php, i latwo by go mozna bylo usunac.

Macie jakies inne pomysly ?
dr_bonzo
Byl juz poruszany podobny temat: szukaj wg usera 'scanner'
Kinool
a nie mozesz uzyc eAccelerator-a (nastepcy Turck MMCache)
sprzedajc lub licencjonujac swoje produkty stawiasz pewne wymogi np to ze server na jakim ma to pracowac musi wspierac powyzsze rozwiazania
ElemenT
dorwalem umowe licencyjna, gdzie szystko jest czarne na bialym, co moze licencjonobiorca, w wypadku skopiowania, kara 50% ceny zamowenia + poniesione straty z tytulu kradziezy (czyli jak ktos ukradl i wykorzystal to cena zamowienia) wiec 150% calosci idzie dla ciebie

dodam pare skryptow w javie i inne w php zakodowane informujace mnie o lokalizacji programu i moze to cos da
ebe
Encodujesz to w eAcceleratorze, w ofercie sprzedajsze kit - zresztą prawdziwy - że to przyspiesza znacznie aplikację. Jeśli oferujesz poważne skrypty to i Twoi klienci są poważni, poważni klienci korzystają z poważnych hostingów, poważne hostingi używają Acceleratorów. W zakodowanym skrypcie w instalatorze piszesz skrypt łaczący się z Twoją witryną która sprawdza kod rejestracyjny itd...
ElemenT
swoj system sprzedaje powaznym klientom wiec w umowie licencyjnej zawieram odpowiednie punkty apropo kopiowania, sprzedawania itp.

skrypt jedynie informuje mnie ze program zostal przeniesiony, i wtedy moge podjac odpowiednie kroki prawne by ukarac licencjonobiorce za udostepnienie aplikacji osobom 3, lub za nie wypelnienie umowy.

licensjonobiorca musi sie zgodzic na warunki umowy, inaczej nie dojdzie do sprzedania licencji czyli samego systemu

nie chodzi o jako takie zabezpieczenie, ze nikt procz mnie tego nie uruchomi, jedynie o informacje co sie dzieje z systemem.
Kinool
ok ale jesli ktos moze miac wglad w kod to moze przeanalizowac wszystko i twoje zabezpieczenia "oszukac" lub usunac i wtedy nie masz pojecia co sie z tym moze dziac

kodujac to eAcceleratorem wiesz ze w zrodla nikt nie zajrzy a co wazniejsze nie zmieni ich! wiec twoje "zabezpiecznia" beda dzialac i bedziesz wiedzial jesli aplikacja jest dystrybuowana dalej bez twojej wiedzy

umoze mozesz spozadzic tak ze sprzedajesz gotowy produkt bez kodu zrudlowego czyli w postacki zakodowanej eAcceleratorem luz innym encodere np Zend nie jest nigdzie powiedzialne ze musi ktos miec zrodla! najczesiej tak jest bo to "standardowa" forma zapisu w php (nieprzetworzone pliki zrodlowe) ale nie musi tak byc
ElemenT
problem w tym ze nie na wszystkich hostingach sa encordery, na takim futuro gdzie placi sie krocie np nie ma sad.gif
lipa

ale poszukalem, popytalem i otrzymalem odpowiedz
http://pobs.mywalhalla.net/

zobaczcie, ciekawe rozwiazanie
Kinool
polecam lap.pl jest eAccelerator i Zend Encoder do tego PHP4 i 5 smile.gif

calkiem mila obsluga i spore mozliwosci!
krysk
Ja w swoim projekcie tworzę klucz komputera na podstawie danych serwera, koduję go i podaję użytkownikowi - ten podczas instalacji dzwoni do mnie, podaje swój klucz licencji, klucz komputera i na podstawie tych danych wg. znanego tylko mi algorytmu tworzę klucz aktywacyjny - jeśli klucz aktywacyjny różni się od tego tworzonego podczas odpalania skryptu wysyłam sobie maila o ile jest to możliwe robię exit();. Jak dojdzie do mnie mail identyfikuję właściciela serwera i jeśli tylko to możliwe dzwonię do niego co jest grane.


Całość jest zakodowana przy pomocy ionCube Encoder - moduły ładujące są dynamiczne także działa na każdym serwerze.

Dla mnie jedyne sensowne rozwiązanie - nie mogę wymuszać na użytkowniku łączenia się z moją bazą danych która oczywiście także może się wyłożyć a wtedy wraz z nią wszyscy moi klienci.
Rast/Abaddon
robie podobnie.

Kazdy user ma swoj klucz.

Z tym ze jadro portalu laczy sie z serwerem i weryfikuje klucz
co jakis czas.

W wypadku braku serwera, proboje losowo jeszcze kilka razy co pare dni.

Jezeli nie moze sie polaczyc lub klucz nie jest pasujacy usuwa kilka waznych plikow z systemu, wysyla e-maila do mnie oraz wyswietla odpowiedni komunikat.
ajgon
Hmm... moze moje pytanie bedzie troche naiwne, ale jak wyciagnac jakies w miare unikalne i przypisane do danej maszyny informacje ? Bo wersje php, IP, vendorzy etc. moga sie zmieniac i ciezko jest na ich podstawie generowac jakis sensowny klucz.
NuLL
Jaki ma to związek z Pro - nie wiem

php Pro -> Hydepark
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.