Mi az IonCube?
Az IonCube egy PHP forráskód-titkosítási és -dekódolási rendszer. Egyes kereskedelmi PHP szoftverek – például a WHMCS (hosting billing), egyes CRM rendszerek és fizetős bővítmények – IonCube-bal titkosítják a PHP forrásfájljaikat, hogy megakadályozzák az illegális másolást. Ahhoz, hogy ezek a szoftverek fussanak, a szerveren telepíteni kell az IonCube Loader-t – ez egy PHP kiterjesztés, amely képes visszafejteni és futtatni a titkosított fájlokat.
Az IonCube Loaderből minden PHP verzióhoz külön letöltés szükséges.
PHP verzió ellenőrzése
Mielőtt telepíted, ellenőrizd, melyik PHP verziót használja a weboldal, amelyhez az IonCube szükséges:
# Alapértelmezett PHP verzió a szerveren
php -v
# Összes telepített PHP verzió
ls /etc/php/IonCube Loader letöltése és kicsomagolása
# IonCube loaderek letöltése
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
# Kicsomagolás
tar xzf ioncube_loaders_lin_x86-64.tar.gz
# Elérhető loaderek listázása (minden PHP verzióhoz külön fájl van)
ls /tmp/ioncube/ioncube_loader_lin_*.soA megfelelő loader másolása
PHP 8.3 esetén (az extension könyvtár neve a PHP belső verziójától függ):
# PHP 8.3 extension könyvtár meghatározása
php -i | grep extension_dir
# PHP 8.3 IonCube loader másolása (20230831 a PHP belső build dátuma)
cp /tmp/ioncube/ioncube_loader_lin_8.3.so /usr/lib/php/20230831/
# PHP 8.2 esetén (más build dátummal)
cp /tmp/ioncube/ioncube_loader_lin_8.2.so /usr/lib/php/20220829/
# PHP 8.1 esetén
cp /tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902/php.ini módosítása
Az IonCube loadert a PHP-FPM konfigba kell beilleszteni. Fontos: a zend_extension sornak a php.ini legelején kell szerepelnie, más kiterjesztések előtt!
# PHP 8.3 FPM php.ini megnyitása
nano /etc/php/8.3/fpm/php.iniAdd hozzá a fájl elejéhez (az első sor legyen!):
zend_extension=/usr/lib/php/20230831/ioncube_loader_lin_8.3.soHa CLI PHP-nél is szükséges (pl. WP-CLI-hoz), a CLI php.ini-be is:
nano /etc/php/8.3/cli/php.ini
# Ugyanazt a sort add hozzá a tetejéhezPHP-FPM újraindítása és ellenőrzés
# PHP-FPM újraindítása
systemctl restart php8.3-fpm
# IonCube loader ellenőrzése
php -v | grep ionCube
# Részletes PHP info (keresd az IonCube szekciót)
php -i | grep -i ioncubeHa az IonCube sikeresen betöltődött, a php -v kimenetében megjelenik valami hasonló:
PHP 8.3.x (cli)
with the ionCube PHP Loader v13.x, Copyright (c) 2002-2024, by ionCube Ltd.