![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Pisze, a w wlasciwie mam juz prawie napisana aplikacje dla pewnej firmy. Niestey mam uzasadnione podejzenie ze jej wlasciciel moze mi nie zaplacic za moja prace
![]() Wpadlem na pomysl zeby zabezpieczyc moja prace. Zamysl jest taki zeby po okreslonym czasie (np data za 30 dni) cala strona sie kasowala i toworzyl sie tylko index.php z informacja ze nie ma kasy, nie ma systemu ![]() Zabezpieczenie musi byc latwe/szybkie do wylaczenia, ale za razem nie rzucajace sie w oczy zeby sie nie okazalo ze 10 letni synek kogos z pracownikow przejzy sobie kod i odrazu znajdzie zabezpieczenie i jednym komentarzem wylaczy. Mam dwa pomysly: 1. To laczenie sie z moim serwerem w domu i sprawdzanie stanu zabezpieczenia i jezeli czas jest przekroczony to pobranie sktyptu, uruchomienie i po sprawie. Niestey to odpada bo jak ktos "wyciagnie wtyczke z netem" to mam po zawodach. 2. Stowrzenie pliku o zahashowanej nazwie i zakodoawnej dacie w srodku. Sprawdzanie czy jest ten plik. Jak nie ma to kasowanie, a jak jest to sprawdzanie daty i jesli jest przekroczona to kasowanie. Wylacznenie jest proste bo wystarczy podmienic plik lub sama zawartosc na taki z data za 100 lat i po sprawie. Nie mam jednak pomyslu jak to ukryc w kodzie strony zeby nie rzucalo sie w oczy. Gdzies musi sie znalezc tresc pliku index.php(odrazu bedzie widac ze to zabezpiecznie) no i musi byc gdzies funkcja ktora bedzie porownywac sam plik, jego zawartosc i kasowac pliki. To sie bedzie bardzo rzucalo w oczy jak ktos ma jakiekolwiek pojecie o php. Tresc nowej strony mozna by jakos w bazie schowac, ale co zrobic z funkcja? Moze macie jakies inne pomysly jak to zrobic? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
A testowanie na czym bedzie polegalo? Tylko na sprawdzeniu obslugi danego systemu, czy przegladanie wchodz w gre tez? Bo jak nie to mozesz system zainstalowac na swoim serwerze i dac im linka do testowania, jestli kod, to tu juz jest problem, obecnie nie mam pomyslu, chociaz jakies wazniejsze pliki mogloby byc na Twoim serwerze, a testowana aplikacja tylko by sie do nich odwolywala...
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Niestety testowana ma byc na ich lokalnym serwerze w firmie. Testtowanie bedzie polegalo na obsludze.
Niestety nie mam zadnej pewnosci ze ktos w kod nie bedzie zagladal. Ja nawet jakbym chcial to nie za bardzo moge u siebie tego postawic, bo mam dosc wolne lacze i podejzewam ze jak zaczelo by pracowalc nagle 10 osob to juz by wyrabiac przestalo. Chodzi mi o to ze jak ktos zacznie przegladac sobie kod zeby odrazu mu nie wpadlo w oczy ze jest funkcja kasujaca wszystki pliki. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
No rozumiem...
Zostaje tylko to rozwiazanie, ktore podalem, ale jesli ktos w kod bedzie zagladal to i tak wyjdzie na jaw... -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.04.2006 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Proponuje produkt firmy Zend (zend guard). Po zabezpieczeniu kod jest nieczytelny.
Mozna rowniez ustawic date wygasniecia licencji. Po jej przekroczeniu program wywala blad ![]() Ten post edytował xbitdesigns 20.09.2006, 06:56:18 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. podpisz umowe i testuj na SWOIM serwerze -- to jest rozwiazanie kompromisowe -- oni moga testowac system a ty masz zabezpieczenie ze ci kodu nie ukradna
2. jesli maja juz kod na swoim serwerze to maja tez pewnie jego kopie, i za 50zeta dzieciak zdejmie zabezpieczenie Cytat Ja nawet jakbym chcial to nie za bardzo moge u siebie tego postawic, bo mam dosc wolne lacze i podejzewam ze jak zaczelo by pracowalc nagle 10 osob to juz by wyrabiac przestalo. Zainwestuj w jakis hosting, np. na kwartal czy pol roku -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Proponuje produkt firmy Zend (zend guard). Po zabezpieczeniu kod jest nieczytelny. Mozna rowniez ustawic date wygasniecia licencji. Po jej przekroczeniu program wywala blad ![]() Tak, pomysl bardzo fajny ale 3000 zl wyglada juz znacznie gorzej ![]() Hmmm... wpadlem wlasnie na inny pomysl i chyba calkiem dobry. A gdyby tak funkcje trzymac w ososbnym pliku, kotry bedzie zakodowany? Includowac ten plik odkodowywac i uzywac? ![]() Nie wiem tylko jak to rozwiazac technicznie. Jak zdekodowac plik i go w postaci odkodowanej zaincludowac? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jesli bedzie to funkcja kodujaca i rozkodujaca i te pliki beda takze do przejrzenia to jaki w tym cel?
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Zeby sie nie powtarzac:
http://forum.php.pl/index.php?showtopic=21455 Temat: zabezpieczenie kodu przed kopiowaniem -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Jesli bedzie to funkcja kodujaca i rozkodujaca i te pliki beda takze do przejrzenia to jaki w tym cel? Cel jest taki ze nie bedzie od razu widac funkcji i na pierwszy rzut oka jak ktos zajrzy w kod nie bedzie wiedzial co to robi ![]() Zeby sie nie powtarzac: http://forum.php.pl/index.php?showtopic=21455 Temat: zabezpieczenie kodu przed kopiowaniem Czytalem juz kiedys te watki. Mi nie chodzi o sama kradziez kodu, bo co do tego to mam pewnosc ze klient tego nie sprzeda dalej. Chodzi o samo zabezpieczneie systemu na wypadek braku zaplaty. Chyba znalazlem rozwiazanie ![]() Pisze sobie funkcje, koduje ja i teraz mam 2 mozliwosci: 1. Wpisuje sobie ta funkcje do bazy. Pobieram z bazy, dokoduje, uruchamiam za pomoca eval($funkcja_z_bazy); Tylko nie wiem czy da rade wetdy uzywac parametrów? 2. Skorzystanie z tego co znalazlem w manualu Cytat eval() is used to protect (read: hide) source code. A well known way to encrypt some php code is security through obscurity. Someone used eval(base64_encode(".....")); - which basically had 10-16 nested calls to eval(base64_encode()) inside the data. E.g.
However this can be decoded in this way:
Tylko nie zabardzo rozumiem co to ma robic. Zapewne to dekoduje plik zakodowany.txt do pliku zdekodowany.txt. To by w sumie bylo nie zle bo moglbym zamiast *.txt stowrzyc plik *.php i sobie go zainkludowac i normalnie uzywac funkcji. A w funkcji mozna by na koncu umiescic usuwanie tego pliku. Czy to dobry pomysl? ----------------------------------------------------------------------------------------------------------------------------- Rozwiazanie problemu Nikt mi nic tworczego nie odpisal, ale rozwiazalem problem sam ![]() Pisze co zrobilem, bo moze sie komus przyda, a wydaje mi sie ze moje rozwiazanie jest najlepsze i najtrudniejsze do pozbycia sie. Zaczynamy od stworzenia pliku z data wygasniecia licencji. Nazwe pliku sobie hashujemy zeby sie nie rzucala bardzo w oczy, a zawartosc w formie normalnej daty (2006-10-01) kodujemy np poprzez base64_encode. Teraz potrzeba jakiejs funkcji ktora bedzie sprawdzac czy data sie nie przeterminowala, a jesli tak to wykonala pewne operacje. W moim przypadku bedzie to skasowanie wszystkich plikow i utworzenie nowego index.php z informacja co sie stalo ![]() A co jak ktos skasuje plik? Ano nic, bo sprawdzimy czy plik jest i czy jest w nim oczekiwana wartosc. Jak cos nie bedzie gralo to znaczy ze ktos cos grzebal i trzeba szybko posprzatac.
Teraz wystarczy zaincludowac plik z funkcjami uzyc funkcji
Funkcja ma parametr tylko i wylacznie dla zmylki. Mozna tam wsadzic cokolwiek i bedzie wygladalo na zupelnie co innego niz jest naprawde ![]() To jednak nadal malo, bo wylaczenie funkcji jest bardzo proste, a pozatym widac co sie "dzieje" i latwo temu zapobiec. Kodujemy wiec zawartosc pliku z funkcjami tym samy algorytmem co date w pliku. Tu nalzey pamietac ze wczesniej tzreba sie pozbyc znacznikow <?php i ?>. Teraz wystarczy stworzyc sobie pomocniczy pliczek, ktory przeczyta nasz zakodowany plik, zdekoduje i wklei nasze funkcje w kod. Wszystko to dzieki wspanialej funkcji eval()
Teraz includujemy sobie pliczek pomocniczy i juz mozemy uzywac funkcji test("cos";) Ale przeciez to nadal mozna latwo wylaczyc! Oczywiscie, ale utrudnienie calej sprawy to juz pestka. Ja na przyklad do zakodowanego pliku przenioslem sobie funkcje odbierajaca dane z formularzy i jeszcze funkcje do sprawdzania roznych danych. Bez tych funkcji cala aplikacja sie rozwali i bedzie bezuzyteczna. Calosc mozna napewno jeszcze jakos usprawnic i utrudnic ![]() Ten post edytował alex19 30.09.2006, 23:32:17 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 411 Pomógł: 35 Dołączył: 27.06.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie przeglądnałem Twojego rozwiązania, ale daje sobie głowę uciąć, że jak ktoś się uprze, to je ominie. Tak jak ktoś już wspomniał, podpisz umowę. To jedyne skuteczne zabezpieczenie.
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Oczwisice ze mozna to ominac, ale jest to znacznie utrudnione i nie widac na pierwszy rzut oka co jest grane. A jak juz ktos posiada odpowiednia wiedze i zobaczy co jest grane to bedzie potrzebowal troszke czasu zeby odtworzyc potrzebne funkjce lub zrezygonwac z nich i zastapic czyms innym.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Moze zostaw sobie jakas mala dziure w kodzie
![]() ![]() ![]() -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Jak juz pisalem zawsze pojawia sie mozliwosc wyciaganiecia wtyczki z internetem z serwera (system nie ma byc widoczny na zwenatrz) i moge sobie pomazyc.
Moim zdaniem moje rozwiazanie jest idealne. Umawiam sie ze 15 jest kasa, ustawiam sobie pliczek, a 16. Jest kasa to wysylam mailem czy w jakikoliwek inny sposob podaje nowy plik bez limitu, a jak kasy nie ma to 16 nie ma juz calej aplikacji. Proste, latwe, szybkie, mile i bezwzgledne ![]() |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Tylko daj im troche wiecej czasu
![]() -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 14.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie wymyslone przez Ciebie zabezpieczenie jest zupelnie bezsensowne, mozna je obejsc poprzez zwykle
i juz mamy odkodowany caly plik. Jak wykonujesz projekt - podpisuj umowe, to najlepsze zabezpieczenie. Ten post edytował Balin 1.10.2006, 21:44:25 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
A ja uwazam ze moje zabezpieczenie jest skuteczne.
Oczywisce ze da sie je latwo obejsc, ale *na pierwszy rzut oka nie widac jawnie zadnego kasowania plikow *wylaczenie zabezpieczenia zajmie chwile czasu *bedzie trzeba przeedytowac klika plikow zeby nie bylo bledow Pozatym mowilem ze to ma byc zapiezpieczenie takie zeby nie bylo dorazu widac jak ktos przejzy(nie bedzie analizowal linia po lini) kod i nie mozna bylo go wylaczyc zakomentowaniem jednej funkcji. Cos takiego wlasnie zrobilem. Poztym umowa umowa, ale nie mam ochoty sie wloczyc w razie czego po sadach. Co mi po tym jak koles bedzie mial aplikacje, ja nie bede mial pieniedzy, sadaowy nakaz? Wszyscy piszecie ze to bez sensu, ze umowa, ze latwo wylaczyc. To moze ktow wymysli cos lepszego poza kupieniem Zend'a za 3000 pln? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
A popatrz na mmcache i eaccelerator
-------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 14.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wysylasz klientowi aplikacje, pewnie zrobisz to mailem, zwaz na to ze on zawsze bedzie mial wtedy dostep do kopii aplikacji chociazby na swoim serwerze pocztowym, wiec jak progam wywali mu sie podczas testowania to nic nie powstrzyma go przed grzebaniem w kodzie, poniewaz nadal ma kopie sprzed instalacji na serwerze.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Tylko ze jesli plik bedzie zahashowany i malo czytelny, za kazdym razem gdy bedzie probowal wgrac aplikacje na nowo ona na nowo sie wymaze. Jednak to co zostalo powiedziane wyzej jest jedynym pewnym wyjsciem (chociaz w naszym kraju i papier niepewny ;P). Podpisz umowe.
-------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:36 |