Kodowanie (szyfrowanie) skryptów PHP

PHP - Tips & Tricks Zostaw komentarz

PHP to język skryptowy. Ma to swoje zalety (np. nie trzeba się martwić tym, że są różne systemy operacyjne i dokonywać kompilacji kodu źródłowego dla każdej z platform). Jednak zaleta języka PHP może być też jego wadą. Gdy napiszesz dość ciekawy skrypt, to ktoś może podpatrzeć źródła i np. wypuścić swój skrypt w którym wykorzysta co ciekawsze rozwiązania algorytmiczne, nad którymi Ty siedziałeś kilka nocy. Ciężko również jest napisać skrypt który by był licencjonowany (np. ograniczenie czasowe albo ograniczenie na domenę bo ktoś kto choć trochę zna PHP może wyciąć kilka odpowiednich linijek kodu i funkcja sprawdzająca legalność instalacji zawsze zacznie zwracać wartość true).

Jeśli chcesz zakodować skrypt to możesz skorzystać albo z darmowych narzędzi zaciemniających kod (opiszę je w najbliższym czasie), albo skorzystać z odpowiedniego programu szyfrującego pliki. Istnieje na rynku kilka rozwiązań.

Jednym z nich jest Zend Guard. Jego zaletą jest to, że zazwyczaj na każdym serwerze jest zainstalowany. Wadą jest cena, która wynosi około 600$ za rok! Inne ciekawsze rozwiązanie, które tutaj opiszę to ionCube. Prawie każdy większy hosting obsługuje skrypty zakodowane w ionCube (np. KEI lub linuxpl.com). Jego cena jest dużo atrakcyjniejsza: 200$ za dożywotnią licencję lub 599 zł + VAT u polskiego dystrybutora. Osobiście miałem styczność z ionCube. Kilka lat temu kupiłem wersję 6.5. Licencja jest dożywotnia, ale niestety stara wersja nie szyfruje plików napisanych w nowszych wersjach PHP, więc jeśli korzystasz z jakiś właściwości wypuszczonych np. w PHP 5.3 lub 5.4 to trzeba wykupić płatną aktualizację (w moim przypadku przeskok z wersji 6.5 do wersji 8 kosztuje niewiele mniej niż nowa licencja!) Ale wydać kilkaset złotych raz na kilka lat, gdy się rozpowszechnia komercyjne produkty to nie problem. Jeśli natomiast rzadko korzystasz z tego produktu to możesz skorzystać z wersji on-line. Wersja on-line pozwala na kodowanie plików za darmo, ale tylko w celu sprawdzenia, czy skrypty będą poprawnie działać na Twoim hostingu (skrypty zakodowane w wersji testowej przestaną działać po 8 godzinach). Zakodowanie prostego skryptu kosztuje 0.50$ (a dokładniej 0.60$, gdyż w trakcie płatności jest naliczana stawka podatku VAT wynosząca 20%). Sprawdzałem i mniejsze skrypty faktycznie są kodowane w tej cenie. Jednak zakodowanie większego skryptu kosztuje ciut więcej (np. zakodowanie czystego frameworka Kohana 3.2 to koszt 23.50$ (koszt jest zależny od długości skompilowanego kodu). Korzystając 10 krotnie z kodera on-line w przypadku Kohany zapłaciłbym tyle ile kosztuje dożywotnia licencja w której mogę kodować skrypty bez limitów!). W przypadku wersji on-line można zasilić konto (minimalna kwota to 5$+1$ VAT) np. PayPalem, ale pierwsza płatność jest dodatkowo weryfikowana, czy nie była np. opłacona kradzioną kartą i środki na moim koncie pojawiły się po około 9 godzinach.

Poniżej przedstawiam zrzut ekranu prostego skryptu wyświetlającego napis Hello World!.

hello world ionCube

Jak widzisz takiego pliku nie da się odkodować. ionCube generuje kod pośredni (prawie skompilowany plik PHP), którego nie da się odkodować. Więc jeśli stracisz oryginalne pliki, to jedyne co możesz zrobić to ponowne ich napisanie! Możesz pobrać ten zakodowany plik, aby sprawdzić, czy ionCube jest zainstalowany na Twoim serwerze. Jeśli skrypt wyświetli napis Hello World, to znaczy, że wszystko jest OK. W paczce jest również oryginalny plik.

Tagi: , , , , ,

Zanim dodasz komentarz, zapoznaj się z kilkoma podstawowymi zasadami:

  1. Jeśli zamiast imienia (lub pseudonimu) wpiszesz jakiś mało logiczny ciąg znaków np. asdfg, to taki komentarz zostanie usunięty.
  2. Jeśli się za kogoś podszywasz, to taki komentarz zostanie usunęty
  3. Jeśli zamiast imienia (pseudonimu) wpiszesz jakieś słowo kluczowe (np. tani hosting), to taki komentarz zostanie usunięty
  4. Jeśli Twoim jedynym celem jest zareklamowanie się, to taki komentarz zostanie niezwłocznie usunięty
  5. Komentarze nie związane z tematem notki są kasowane.
  6. Komentarze, które zawierają wulgarne słowa, bądź są obraźliwe (nie dotyczy konstruktywnej krytyki) są kasowane.
  7. Komentarze z mailem typu "nie.podam@coś.tam.pl" są kasowane
  8. Komentarze pisane niechlujnie (bez interpunkcji, w błędami ortograficznymi, z licznymi literówkami, pisane WIELKIMI LITERAMI) są kasowane

Jeden komentarz do “Kodowanie (szyfrowanie) skryptów PHP”

  1. Marcin Says:

    problem w tym że ioncube da się odkodować

Zostaw komentarz

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się