Juzek
18.03.2011, 12:44:27
Witam.
Jestem autorem skryptu serwisu, który z założenia ma występować w wielu niezależnych od siebie kopiach. Każdy serwis posiada własną bazę danych. Każda kopia posiada możliwość aktualizacji bazy danych z głównej bazy. Chciałbym możliwie jak najbardziej utrudnić taką aktualizację komuś, kto nie posiada legalnej kopii serwisu. W tym celu zwracam się do Was o rady, informacje o istniejących rozwiązaniach, wzorcach projektowych itd, które mogą mi w tym pomóc. Mam już kilka pomysłów, niestety każdy z nich posiada jakieś luki.
Dziękuję z góry za rady.
Wracam na Google.
dr_bonzo
18.03.2011, 12:52:48
Jak dajesz zrodla skryptu to nic nie poradzisz na poziomie programistycznym.
Juzek
18.03.2011, 13:24:25
Dlatego staram się ograniczyć do minimum rolę klienta. W tej chwili zastanawiam się nad takim rozwiązaniem.
1. Podczas instalacji serwisu należy podać @ i (coś) konta, które zostało poprzednio dodane do bazy serwera aktualizacyjnego [UDB].
2. UDB sprawdza czy dane są poprawne i w odpowiedzi wysyła unikalny jednorazowy żeton aktualizacyjny [UT] zapisywany w bazie klienta [C].
3. Gdy [C] zapragnie aktualizacji wysyła [UT].
4. [UDB] sprawdza, czy [UT] jest poprawny i nie był już wykorzystany.
5. Jeżeli wszystko ok wysyła sql z update i nowym [UT]. sql zawiera tylko te rekordy, które powstały między ostatnią aktualizacją a aktualną.
Plusy:
- [C] posiada informację jednorazowego użytku, czyli publikacja [UT] na warezowych stronach nic nie da.
- jeżeli admin [C] udostępni komuś [UT] straci synchronizację [UT] co uniemożliwi mu aktualizację {tu jest jedna ze słabości bo "ktoś" może przesłać UT do [C]}
- udzielając komuś [UT] [C] traci te rekordy aktualizacji, które są przypisane do danego [UT]
Na tę chwilę mam taką koncepcję. Co Wy na to ?
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.