Ioncube loader là một module PHP để tải các tệp được bảo vệ bằng phần mềm Ioncube Encoder. Ioncube thường được các nhà cung cấp phần mềm PHP thương mại sử dụng để bảo vệ phần mềm của họ, vì vậy, rất có thể bạn sẽ gặp phải một tệp được mã hóa Ioncube sớm hay muộn khi bạn cài đặt tiện ích mở rộng cho phần mềm CMS hoặc Shop được viết bằng PHP. Trong hướng dẫn này, tôi sẽ giải thích chi tiết về việc cài đặt module Ioncube loader cho CentOS, Debian và Ubuntu.
Trong bước đầu tiên, tôi sẽ kiểm tra xem máy chủ là hệ thống 32Bit hay 64Bit. Chạy:
Đầu ra sẽ tương tự như sau:
Khi văn bản chứa "x86_64" thì máy chủ chạy Kerbel Linux 64Bit. Nếu không, đó là Kernel 32Bit (i386). Hầu hết các máy chủ Linux hiện tại đều chạy Kernel 64Bit.
Tải Loader ở định dạng tar.gz vào thư mục /tmp và giải nén:
Đối với Linux 64Bit x86_64:
Đối với Linux 32Bit i386:
Các tệp được giải nén vào một thư mục có tên "ioncube".
Các tệp có số tương ứng với phiên bản PHP mà chúng được tạo ra và cũng có phiên bản "_ts" (An toàn cho luồng) của mỗi trình tải. Chúng ta sẽ sử dụng phiên bản không có tính năng an toàn luồng ở đây.
Để tìm phiên bản php đã cài đặt, hãy chạy lệnh:
Đầu ra sẽ tương tự như sau:
Đối với tác vụ này, chỉ có hai chữ số đầu tiên của số phiên bản trong dòng kết quả đầu tiên là quan trọng, trên máy chủ này, tôi sẽ chạy PHP 7.0. Chúng ta ghi lại số này vì chúng ta cần nó cho các bước tiếp theo.
Bây giờ là lúc tìm ra thư mục mở rộng của phiên bản PHP này ở đâu, hãy chạy lệnh sau để tìm tên thư mục:
Đầu ra sẽ tương tự như đầu ra từ ảnh chụp màn hình này:
Tôi đã đánh dấu đường dẫn trong ảnh chụp màn hình, thư mục mở rộng trên máy chủ này là "/usr/lib/php/20151012". Tên thư mục sẽ khác nhau đối với từng phiên bản PHP và bản phân phối Linux, chỉ cần sử dụng tên bạn nhận được từ lệnh chứ không phải tên tôi nhận được ở đây.
Không sao chép trình tải ioncube cho phiên bản PHP 7.0 của chúng tôi vào thư mục mở rộng /usr/lib/php/20151012:
Thay thế "7.0" ở trên bằng phiên bản PHP của bạn và "/usr/lib/php/20151012" bằng thư mục mở rộng của phiên bản PHP của bạn.
là dòng đầu tiên vào tệp php.ini của hệ thống. Một lần nữa, đường dẫn trên chứa thư mục tiện ích mở rộng "/usr/lib/php/20151012" và phiên bản PHP "7.0", hãy đảm bảo rằng bạn thay thế chúng để phù hợp với thiết lập hệ thống của mình.Tôi sẽ bắt đầu bằng hướng dẫn dành cho CentOS.
và thêm "zend_extension =" cùng với đường dẫn đến ioncubeloader làm dòng đầu tiên trong tệp.
Sau đó lưu tệp và khởi động lại máy chủ web Apache:
Apache mod_php
Dòng lệnh PHP (CLI)
PHP CGI (được sử dụng cho chế độ CGI và Fast_CGI)
PHP FPM
và thêm "zend_extension =" cùng với đường dẫn vào ioncubeloader làm dòng đầu tiên trong tệp(các tệp).
Sau đó lưu tệp(các tệp) và khởi động lại máy chủ web Apache và php-fpm:
Tôi đã đánh dấu dòng màu trắng cho biết trình tải ioncube đã được bật:
Nếu bạn muốn kiểm tra PHP của một trang web, hãy tạo một "tệp info.php với nội dung sau:
Và mở URL trong trình duyệt web. Bạn sẽ có thể thấy ioncube trong đầu ra phpinfo():
1 Điều kiện tiên quyết
Máy chủ của bạn phải cài đặt ngôn ngữ lập trình PHP. Tôi sẽ sử dụng Trình soạn thảo dòng lệnh Nano và ứng dụng tải xuống dòng lệnh wget. Nano và Wget được cài đặt trên hầu hết các máy chủ, trong trường hợp chúng bị thiếu trên máy chủ của bạn, hãy cài đặt chúng bằng apt / yum:CentOS
Mã:
yum install nano wget
Debian và Ubuntu
Mã:
apt-get install nano wget
2 Tải xuống Ioncube Loader
Có thể tải xuống các tệp trình tải Ioncube miễn phí từ Ioncube Inc. Chúng tồn tại cho các hệ thống Linux 32Bit và 64Bit.Trong bước đầu tiên, tôi sẽ kiểm tra xem máy chủ là hệ thống 32Bit hay 64Bit. Chạy:
Mã:
uname -a
Khi văn bản chứa "x86_64" thì máy chủ chạy Kerbel Linux 64Bit. Nếu không, đó là Kernel 32Bit (i386). Hầu hết các máy chủ Linux hiện tại đều chạy Kernel 64Bit.
Tải Loader ở định dạng tar.gz vào thư mục /tmp và giải nén:
Đối với Linux 64Bit x86_64:
Mã:
cd /tmp
wgethttp://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin_x86-64.tar.gz
Mã:
cd /tmp
wgethttp://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfz ioncube_loaders_lin_x86.tar.gz
3 Ioncube Loader nào là đúng?
Khi bạn chạy "ls /tmp/ioncube" thì bạn sẽ thấy có nhiều tệp trình tải trong thư mục ioncube.Các tệp có số tương ứng với phiên bản PHP mà chúng được tạo ra và cũng có phiên bản "_ts" (An toàn cho luồng) của mỗi trình tải. Chúng ta sẽ sử dụng phiên bản không có tính năng an toàn luồng ở đây.
Để tìm phiên bản php đã cài đặt, hãy chạy lệnh:
Mã:
php-v
Đối với tác vụ này, chỉ có hai chữ số đầu tiên của số phiên bản trong dòng kết quả đầu tiên là quan trọng, trên máy chủ này, tôi sẽ chạy PHP 7.0. Chúng ta ghi lại số này vì chúng ta cần nó cho các bước tiếp theo.
Bây giờ là lúc tìm ra thư mục mở rộng của phiên bản PHP này ở đâu, hãy chạy lệnh sau để tìm tên thư mục:
Mã:
php -i | grep extension_dir
Tôi đã đánh dấu đường dẫn trong ảnh chụp màn hình, thư mục mở rộng trên máy chủ này là "/usr/lib/php/20151012". Tên thư mục sẽ khác nhau đối với từng phiên bản PHP và bản phân phối Linux, chỉ cần sử dụng tên bạn nhận được từ lệnh chứ không phải tên tôi nhận được ở đây.
Không sao chép trình tải ioncube cho phiên bản PHP 7.0 của chúng tôi vào thư mục mở rộng /usr/lib/php/20151012:
Mã:
cp/tmp/ioncube/ioncube_loader_lin_7.0.so/usr/lib/php/20151012/
4 Cấu hình PHP cho Trình tải Ioncube
Bước cấu hình tiếp theo hơi khác một chút đối với Centos và Debian/Ubuntu. Chúng ta sẽ phải thêm một dòng:
Mã:
zend_extension =/usr/lib/php/20151012/ioncube_loader_lin_7.0.so
4.1 Cấu hình Ioncube loader trên CentOS
Centos chỉ có một tệp php.ini trung tâm mà chúng ta phải thêm ioncubeloader vào. Mở tệp /etc/php.ini bằng trình soạn thảo:
Mã:
nano/etc/php.ini
Mã:
zend_extension =/usr/lib/php/20151012/ioncube_loader_lin_7.0.so
Mã:
service httpd restart
service php-fpm restart
4.2 Cấu hình trình tải Ioncube trên Debian và Ubuntu
Debian và Ubuntu sử dụng các tệp php.ini riêng biệt cho chế độ PHP CLI (Dòng lệnh), CGI, Apache2 và FPM. Đường dẫn tệp là:- /etc/php/7.0/apache2/php.ini
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cgi/php.ini
- /etc/php/7.0/fpm/php.ini
Apache mod_php
Mã:
nano /etc/php/7.0/apache2/php.ini
Mã:
nano /etc/php/7.0/cli/php.ini
Mã:
nano /etc/php/7.0/cgi/php.ini
Mã:
nano /etc/php/7.0/fpm/php.ini
Mã:
zend_extension =/usr/lib/php/20151012/ioncube_loader_lin_7.0.so
Mã:
service apache2 restart
service php7.0-fpm restart
5 Kiểm tra Ioncube
Hãy kiểm tra xem ioncube loader đã được cài đặt thành công chưa. Đầu tiên, tôi sẽ kiểm tra dòng lệnh PHP. Chạy:
Mã:
php -v
Tôi đã đánh dấu dòng màu trắng cho biết trình tải ioncube đã được bật:
Mã:
với Trình tải PHP ionCube (đã bật) + Bảo vệ chống xâm nhập từ ioncube24.com (chưa cấu hình) v10.2.0, Bản quyền (c) 2002-2018, của ionCube Ltd.
Mã: