![]() |
![]() |
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) . Nie moge wziasc najpierw kasy, a potem dac programu, bo oni musza go najpierw przetestowac i powiedziec co im sie nie podoba.
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . 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%) ![]() ![]() |
Jesli bedzie to funkcja kodujaca i rozkodujaca i te pliki beda takze do przejrzenia to jaki w tym cel?
|
|
|
![]()
Post
#3
|
|
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) 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 (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) 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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . 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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) 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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Mozna np wywolywac funkcje test() w zakodowanym pliku. Ten post edytował alex19 30.09.2006, 23:32:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 20:56 |