![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Czy da sie jakos zabezpieczyc skrypt weryfikujac domene?
Moze zakodowac jej nazwe w bazie i potem sprawdzac? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Można.
Ale nie ma bata, żeby tego nie usunąć. No chyba, że laikowi dajesz skrypt : ) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
jedyne rozwiązanie to zakodowanie skryptu np Ioncube lub zend optimizer
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
to to juz czytalem ale jak by tak dla laika zakodowac md5 domene i potem sprawdzac?
no chyba, ze macie inne pomysly |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Pomysł może i dobry, ale każdy, kto podstawy zna, poradzi sobie z usunięciem jednego if'a.
Wg. mnie.. jeśli chcesz coś tylko dla siebie - nie rozdawaj ; ) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
jak laik to zakoduj base64, potem zdekoduj, i wykonaj eval()
możesz też zakodować coś takiego if ($domena != 'dozwolonadomena') { mail(twoj@mail, 'naruszenie', 'klient umiescil skrypt na innej domenie'); } Ten post edytował pgrzelka 25.05.2009, 13:53:34 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Wlasnie to staram sie zrobic ale nie wycgodzi mi sprawdzanie
![]()
Tak wygladaja moje wypociny i nie dzialaja Juz wiem "sha1" Teraz gra ![]() Ten post edytował DannyM 25.05.2009, 14:19:58 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja przez pewien czas, miałem jeden plik biblioteczny z klasami podstawowymi, który był zakodowany basem z dodatkowo z moim małym ulepszeniem
![]() Jeżeli ktoś by się napocił to można to obejść zawsze, ale na laików dobre zabezpieczenie. Jedyny ból że spowalnia to aplikacje u klienta. -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wlasnie to staram sie zrobic ale nie wycgodzi mi sprawdzanie ![]()
Tak wygladaja moje wypociny i nie dzialaja Juz wiem "sha1" Teraz gra ![]() Pozwól, że "obejdę" Twój skrypt. Cokolwiek nie dasz w warunkach mogę go bardzo prosto "złamać":
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
hehe no tak ale nie tak prosto bedzie
![]() Tu tylko chcialem zrozumiec jego dzialanie ![]() No i jeszcze jedna sprawa trzeba wiedziec w calym kodzie co wylaczyc ![]() Ten post edytował DannyM 25.05.2009, 15:11:55 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli sprawdzanie warunków będzie u klienta, to musisz chociażby funcje, zmienne ponazywać jakoś inaczej dla zmylenia. Ukryć to w wielu miejscach.
Jeśli nie chcesz szyfrować, to zrób coś na wzrór deirathe. Na swoim serwrze umieszczasz jakąś najważniejszą część swojej aplikacji, taki rdzeń. W skrypcie odwołujesz się do serwera, ale nie tak, że sprawdzasz czy dany id ma dostęp czy nie, tylko pobierasz skrypt, i go evalem wykonujesz u klienta. Czyli coś na zasadzie eval(file_get_contents('http://check.twojadomena.pl?key=242h2k34hj2h3k2h')); Pozdrówki -------------------- |
|
|
![]() ![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Jeżeli sprawdzanie warunków będzie u klienta, to musisz chociażby funcje, zmienne ponazywać jakoś inaczej dla zmylenia. Ukryć to w wielu miejscach. Jeśli nie chcesz szyfrować, to zrób coś na wzrór deirathe. Na swoim serwrze umieszczasz jakąś najważniejszą część swojej aplikacji, taki rdzeń. W skrypcie odwołujesz się do serwera, ale nie tak, że sprawdzasz czy dany id ma dostęp czy nie, tylko pobierasz skrypt, i go evalem wykonujesz u klienta. Czyli coś na zasadzie eval(file_get_contents('http://check.twojadomena.pl?key=242h2k34hj2h3k2h')); Pozdrówki Dzieki za podpowiedz a czy takie odwolanie nie spowoduje duzego ruchu na serwerze? Jesli np. do danego pliku odwola sie 100 klientow w ciagu godziny czy mocno obciazy to serwer? |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale przeciez odwolywanie sie do serwera po "rdzen" to takie same "zabezpieczenie" co walenie ifow w roznych miejsach kodu. Mozna je tak samo latwo obejsc. wystarczy raz zciągnąc ten "rdzen", zapisac do pliku i nastepnym razem siorbac juz z pliku a nie z serwera. - zabezpieczenie nie dosc ze tak samo latwe do obejscia co poprzednie, to na dodatek bedzie tylko przymulac i aplikacje, i serwer kolesia co zrobil projekt.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Zrob tak, zeby twoj soft byl latwy do znalezienia w google, np. specyficzne URLe, specyficzne intext. Potem raz na jakis czas przelecisz wujaszka G i sprawdzisz czy ktos nie korzysta z Twojego softu na niedozwolonej domenie.
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Zrob tak, zeby twoj soft byl latwy do znalezienia w google, np. specyficzne URLe, specyficzne intext. Potem raz na jakis czas przelecisz wujaszka G i sprawdzisz czy ktos nie korzysta z Twojego softu na niedozwolonej domenie. hehe super pomysl ![]() Choc wateków podobnych jest kilka to ten jest świeży i zaczyna sie rozkrecac ![]() Ten post edytował DannyM 26.05.2009, 09:03:51 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
No ale przeciez odwolywanie sie do serwera po "rdzen" to takie same "zabezpieczenie" co walenie ifow w roznych miejsach kodu. Mozna je tak samo latwo obejsc. wystarczy raz zciągnąc ten "rdzen", zapisac do pliku i nastepnym razem siorbac juz z pliku a nie z serwera. - zabezpieczenie nie dosc ze tak samo latwe do obejscia co poprzednie, to na dodatek bedzie tylko przymulac i aplikacje, i serwer kolesia co zrobil projekt. A no racja, tyle, że musi się pojawić pierwszy ktoś, kto kupi skrypt i go udostępni. Jest jeszcze opcja, żeby robic buildy dla każdego klienta indywidualne, w których jakieś funkcje będą się inaczej nazywały, a pobrana treść z serwera, wywoływana evalem będzie się do nich odnosić. Co prawda to i tak jest do obejścia, ale ciut utrudni ![]() Specyficzne URL'e to jest jakiś sposób, bo może komuś nie będzie się chciało przerabiać skryptu. Wyrzucenie ifa, czy unikalnego znacznika jest zawsze do zrobienia. Moża próbować zamotać tak kod, żeby się komuś nie chciało grzebać i szukać, ale jeśli ktoś użyje jakiegoś IDE to z tym też w miarę szybko sobie poradzi. Tak czy inaczej, jeśli kod nie jest zaszyfrowany, to zawsze jest możliwość jego edycji i ominięcia zabezpieczeń. -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem chyba jedyna bezpieczna i względnie "pewna" metoda to serwer uwierzytelniający, bez którego aplikacja nie ma prawa działać - jak to zrobić, aby nie można było obejść? Pierwsza myśl jest taka, że na serwerze znajduje się plik konfiguracyjny + jakaś część kodu, która jest niezbędna do poprawnego działania aplikacji - a jak to zrobić, aby nie dało się łatwo przerobić aplikacji i spreparować pliku .cfg na własnym serwerze? Nie wiem - może co jakiś czas serwer wysyła nowy klucz dostępu do pliku konfiguracyjnego? Pomysłów pewnie jest wiele - trzeba by to zrobić tak, aby "uniezależnienie" aplikacji od serwera uwierzytelniającego było maksymalnie trudne i nieopłacalne - w każdym bądź razie pomysł jets wart rozważenia, może ktoś kiedyś coś takiego wymyśli i powstaną serwery autoryzujące aplikacje PHP, których kod źródłowy będzie szyfrowany zmiennym kluczem pobieranym z tych serwerów? Nie wiem
![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pgrzelka...
Cytat możesz też zakodować coś takiego Twój pomysł jest dobry. Sam przyznam, że o czymś takim myślałem. Trzeba jednak pamiętać, że wiele serwerów ma zablokowaną funkcję "mail" i wtedy komunikatu nie otrzymasz. if ($domena != 'dozwolonadomena') { mail(twoj@mail, 'naruszenie', 'klient umiescil skrypt na innej domenie'); } ![]() -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 507 Pomógł: 2 Dołączył: 30.10.2003 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Pgrzelka... Twój pomysł jest dobry. Sam przyznam, że o czymś takim myślałem. Trzeba jednak pamiętać, że wiele serwerów ma zablokowaną funkcję "mail" i wtedy komunikatu nie otrzymasz. ![]() Pomysl jest dobry ale zwraca na siebie uwage w kodzie co ulatwia wykrycie kodu, ktory za to odpowiada. no chyba, ze mail($a, $c, $y); a zmienne zaszyc gdzies w kodzie choc to i tak dosc jasne i dla laika ![]() |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Jest też narzędzie o nazwie: IonCube, niestety nie wiem na ile bezpieczne, na pewno koduje pliki źródłowe do postaci, z której nie można już wrócić do piewotnego kodu php. Nie mam konkretnej informacji na ten temat, ale chyba krakersy będą w stanie znullować tak zabezpieczony soft.
Można też umieścić cały rdzeń aplikacji na zaufanym serwerze firmowym (nigdy nie zdradzamy kodu na serwerze) i komunikować się z nim przez RPC, przeliczac po stronie serwera i zwracac wynik, baza danych może być umieszczona na takim serwerze lecz może też siedzieć u klienta, klientowi udostępnić tylko pliki szabonów i ten jak najkrótszy kod do komunikacji z serwem. Krótko mówiąc, umieścić na firmowym serwerze tyle kodu ile się da i nie ujawniać go.Oczywiście wszystko zależy jakiego robisz appsa, w wielu przypadkach coś takiego będzie po prostu niemożliwe do wykonania. A teraz przykład z życia: Oprogramowanie o nazwie Kayako SupportSuite (taki system obsługi klienta) licencja kosztuje ileś tam dolarów i nie ma praktycznie opcji uruchomienia tego oprogramowania w taki sposoób, żęby nie dało się ukryć jego pracy po znalezieniu stronki na którą padnie chociaż cień podejżenia że Kayako tam dziala, a jeśli się da to wymagało by to ogromu pracy. Sciagnijcie z torrentów i sprawdźcie sami ![]() Po znalezieniu stronki gdzie dziala nasz soft każdy chyba wie co robić, dla pewności przypomne, wysyłamy do admina strony email w którego treści wymieniamy wszystkie organy wykonawczne w europie ![]() ![]() Refleksja: Czy na prawde musimy robić kod zabezpieczony za wszelką cene? czy nie możemy zrobić JavaScripta, okraszyć go licencją i zwyczajnie liczyć na uczciwość ludzką, a w razie jej braku bez ceregieli sąd i odszkodowanie? ![]() Ten post edytował wNogachSpisz 6.06.2009, 11:13:39 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 02:47 |