Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> zabezpieczenie kodu przed kradzieżą, czy jest możliwe, jak?
nowy_pehapowiec
post 14.10.2009, 11:37:02
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Muszę w jakiś sposób zabezpieczyć napisane kody w php. Ale muszą normalnie działać i generować strony. Ale sam podgląd plików nie może pokazywac normalnego kodu tak jak go napisałem. Czy da się to zrobić? Wydaje mi się, że to musi być jakiś algorytm szyfrujący pozwalający programiście na zaszyfrowanie kodu i serwerowi na odszyfrowanie. Jak bardzo to spowolni ładowanie stron? Jakie są do tego najlepsze narzędzia, najlepiej darmowe?


pozdro
Go to the top of the page
+Quote Post
jmail
post 14.10.2009, 11:42:50
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


wyszukaj w google obfuscator. Jeszcze inna sprawa, że możesz kod ropowszechniać już w postaci zinterpretowanej - wtedy masz na pewno zabezpieczone
Go to the top of the page
+Quote Post
Dumdas
post 14.10.2009, 12:18:50
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

Ostrzeżenie: (0%)
-----


php żadnym sposobem nie podejrzysz. No, chyba, że edytując plik przez menadżera na serwerze...
Go to the top of the page
+Quote Post
angel2953
post 14.10.2009, 12:20:21
Post #4





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

Ostrzeżenie: (0%)
-----


możesz też skorzystać z Zend Guard'a (pod warunkiem, że na serwerze jest zainstalowany przynajmniej Zend Optimizer) wtedy kod będzie w postaci binarnej


--------------------
Sygnaturkę ukradli
Go to the top of the page
+Quote Post
Dumdas
post 14.10.2009, 12:41:44
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

Ostrzeżenie: (0%)
-----


Ale po co go zabezpieczać, spoko nie da się po prostu podejrzeć kodu php z zewnątrz, gdyś php działa po stronie serwera, a tylko wyniki wysyłane są do klienta. Nie ma sposobu, żeby podejrzeć kod PHP od strony klienta. Więc po co "zabezpieczać" i tylko serwer obciążać?
Go to the top of the page
+Quote Post
phpion
post 14.10.2009, 12:47:52
Post #6





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@Dumdas:
A kto mówi o podglądaniu kodu przez przeglądarkę? Chodzi o zabezpieczenie się przed fizyczną kradzieżą skryptu (plików) i jego modyfikacją.
Go to the top of the page
+Quote Post
Dumdas
post 14.10.2009, 12:55:15
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

Ostrzeżenie: (0%)
-----


Nikt nie mówi o przeglądarce. Klient to ten, kto łączy się z serwerem, nie program (w tym wypadku przeglądarka). Tak, czy siak - serwer parsuje php przed wysłaniem danych do klienta...
Go to the top of the page
+Quote Post
phpion
post 14.10.2009, 12:57:21
Post #8





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Klient to również osoba zlecająca prace nad skryptem. Oddając klientowi skrypt do testów (o ile prześlesz mu pliki) narażasz się na ich kradzież. Ciężko to pojąć?
Go to the top of the page
+Quote Post
jmail
post 14.10.2009, 13:15:20
Post #9





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


Dumdas skąd Ty tego klienta wziąłeś? Kolega pytał o zabezpieczenie kodu przed podglądem kodu tak jak go on pisał. No nie wiem, ale ja nie potrafię pisać skryptów PHP przez przeglądarkę 8)

Go to the top of the page
+Quote Post
Dumdas
post 14.10.2009, 13:24:42
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

Ostrzeżenie: (0%)
-----


Wziąłem go stąd, że jedyna możliwość połączenia z serwerem to stanie się takim lub innym klientem. A będąc klientem nie można podejrzeć kodu PHP, chyba, że zezwoli na to sam serwer (file menagery na serwerach).

No pliki tak, czy siak zostaną przesłane, ale nawet jak się je zakoduje, to i tak można je rozkodować (PHP musi być przecież parsowane).
Go to the top of the page
+Quote Post
krowal
post 14.10.2009, 13:30:58
Post #11





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Cytat(Dumdas @ 14.10.2009, 14:24:42 ) *
No pliki tak, czy siak zostaną przesłane, ale nawet jak się je zakoduje, to i tak można je rozkodować (PHP musi być przecież parsowane).


To rozkoduj pliki zakodowane takim np Zend guardem i powiedz czy można czy nie smile.gif
Owszem wszystko można, tak samo można zrobić reverse enginering programu napisanego w C i grzebać sobie potem w kodzie assemblera biggrin.gif


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
dr4ko
post 14.10.2009, 14:19:26
Post #12





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 16.07.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


@Dumas nowy_pehapowiec zapewne chce sprzedać aplikację webową "as it is" czyli żeby klient mógł ją postawić u siebie na serwerze, mógł z niej korzystać ale nie mógł jej zmieniać i nie miał wglądu do kodu.

Zaszyfrowanie kodu php często polega na jego prekompilacji i w rezultacie nie dosyć, że zabezpieczamy kod to jeszcze przyśpieszamy jego działanie winksmiley.jpg


--------------------
devFactor
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 15.10.2009, 12:35:49
Post #13





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


phpion ma rację. Chodzi o klienta zlecającego robotę. Zrobiłem prostą stronę dla pizzerii i po tygodniu sklep zoologiczny z tej samej ulicy ma łudząco podobną stronę. Identyczny sposób działania, ten sam układ stron i prawie ten sam wygląd (tylko kilka obrazków zmienionych). Nawet nazwy klas w css są te same. Zawartość strony (menu, teksty, zdjęcia) jest zarządzana przez bazę i łatwa do zmienienia. Po prostu jedna "biznesłumen" dała albo odsprzedała drugiej całą stronę. Najbardziej wkurzający jest fakt, że na obu stronach zniknęło info o autorze strony. Zarówno z mety w html i ze stopki, a to już było w plikach php a nie w bazie. To była pierwsza strona jaką zrobiłem za kasę i to śmiesznie małą, właśnie po to aby były na niej info o mnie i odnośnik mejlowy. Byłem już u obu tych "biznesłumen" i nie bardzo nawet zaprzeczają. Teraz widzę, że złą umowę miałem i nie przewidziałem takiej sytuacji sad.gif

Teraz już chyba wszystko jasne. Chce w przyszłości uniknąć takich sytuacji.

Czy jest jakieś sensowne zabezpieczenie nie wymagające zmian na serwerze? Jeśli tak to jakie|?

A jeśli nie to potrzebuje takiego zabezpieczenia, które będzie free. A solucja Zenda jest chyba płatna. Byłoby super jeśli takie szyfrowanie dałoby się połączyć z prekompilacją, żeby kod działał szybciej i strony ładowały się szybciej.


pozdro
Go to the top of the page
+Quote Post
Quantum
post 15.10.2009, 13:09:54
Post #14





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Sam spotkałem się jakiś czas temu z takim problemem, postanowiłem przetestować kilka programów, niestety wynik nie był zadowalający, wszystkie kończyły się na eval, wystarczyło podmienić na echo i miałem oryginalny kod, wyjątkiem był SourceCop, w którym wprowadzili pseudo-zabezpieczenie przed wyświetlaniem zdekodowanego źródła, polegało na sprawdzeniu czy ową funkcję zamieniono na (sprintf, print, echo, var_dump etc.), usunąłem jedną linijkę tego "zabezpieczenia" i wypluwało cały kod (moim zdaniem dużo lepszym rozwiązaniem byłoby sprawdzić czy !eval, ale nie ja to pisałem). Podsumowując nie polecam takich rozwiązań, to odstraszy tylko laików, mogę za to polecić ionCube, teraz możliwe jest zakodowanie pojedynczego skryptu czy aplikacji online bez kupowania licencji na program, cena zależy od ilości użytych znaków (w porównaniu do premii, którą otrzymasz za skrypt to grosze). Wymaga zainstalowanego rozszerzenia na serwerze, ale na większości współdzielonych jest zainstalowane, nie mówiąc o dedyku gdzie sam możesz to zrobić. Z darmowych zostają Ci tylko "obfuscatory", po których kod staje się nieczytelny dla człowieka, ale to tylko utrudnienie - nie uniemożliwienie.
Go to the top of the page
+Quote Post
Fafu
post 15.10.2009, 14:59:38
Post #15





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Może nie zabezpieczenie ale utrudnienie przed modyfikacją - usunięcie wszystkich białych znaków (spacji, enterów itp) smile.gif


--------------------
http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły.
Go to the top of the page
+Quote Post
jmail
post 15.10.2009, 15:11:33
Post #16





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


jeżeli chodzi o rzeczy "dokładane" do serwera to możena spróbować tego http://turck-mmcache.sourceforge.net/index_old.html#about

zawsze możesz sprawdzić, czy na docelowym serwerze działa funkcja dl jak działa to Ci to wciągnie bez problemów i masz problem z głowy.

Jak nie działa to nie zadziała biggrin.gif

o patrz właśnie się doczytałem

Cytat
Standalone Loader

You can use files encoded by Turck MMCache without it. For this reason you must use TurckLoader. It is a regular PHP extension that can be used with other accelerators or without them. It can be loaded on startup or in runtime by dl(). TurckLoader is not need with Turck MMCache, becuse it is already compiled in. For more information about TurckLoader see README.loader file.



Czyli całość instalujesz u siebie, następnie ładujesz do projektu tego ancodera, którego w projekcie wciągasz przez funkcję dl - zawsze możnaby poprosić admina, żeby tego ext'a dorzucił na serwerze - wątpię, żeby się zgodził, ale czemu nei spróbować? biggrin.gif

Ten post edytował jmail 15.10.2009, 15:19:58
Go to the top of the page
+Quote Post
Quantum
post 15.10.2009, 18:11:51
Post #17





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(jmail)
Czyli całość instalujesz u siebie, następnie ładujesz do projektu tego ancodera, którego w projekcie wciągasz przez funkcję dl - zawsze możnaby poprosić admina, żeby tego ext'a dorzucił na serwerze - wątpię, żeby się zgodził, ale czemu nei spróbować?


hm no tak, ale jeżeli chcesz sprzedawać swoje skrypty (a o to chodzi autorowi wątku) to nie możesz prosić administratora serwera klienta o zainstalowanie "jakiegoś tam" rozszerzenia. Produkt, który sprzedajesz powinien być jak najbardziej kompatybilny.
Go to the top of the page
+Quote Post
jmail
post 15.10.2009, 18:51:50
Post #18





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


dajesz w zastrzeżeniach, że na serwerze musi działać funkcja dl i masz problem z głowy. napisz drobnym maczkiem i nikt nie przeczyta biggrin.gif
Go to the top of the page
+Quote Post
potreb
post 15.10.2009, 18:57:28
Post #19





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 14.10.2009, 12:57:21 ) *
Klient to również osoba zlecająca prace nad skryptem. Oddając klientowi skrypt do testów (o ile prześlesz mu pliki) narażasz się na ich kradzież. Ciężko to pojąć?


Jaka umowa taka kradzież. Rozumiem, ze boicie się o swoje prace ale bez przesady.

Ten post edytował potreb 15.10.2009, 18:58:01


--------------------

Go to the top of the page
+Quote Post
dr4ko
post 16.10.2009, 08:59:06
Post #20





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 16.07.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


W tym wypadku to wina umowy ale np gdy dajesz klientowi aplikację z licencją np na 5 użytkowników a każdy nowy użytkownik ponad limit wymaga dodatkowej opłaty to chciałbyś móc zabezpieczyć kod przed ingerencją tongue.gif Z resztą zabezpieczenie kodu jest łatwiejsze niż ciąganie się z klientem po sądach.


--------------------
devFactor
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.05.2024 - 06:17