Last modified: September 20, 2009 01:53:58.

ionCube PHP Encoder

ionCube was the first major alternative to Zend (which was then known as the Zend Encoder/Zend SafeGuard Suite) to offer native bytecode encoding, both date and time period limiting and support for IP/Domain/MAC address limiting. The ionCube PHP Encoder (currently at version 6.5), has been around for a number of years and supports both PHP4/5 encoding.

The standalone ionCube PHP Encoder comes with both a command-line interface and GUI (for Windows only). The Windows GUI has all the functionality of the command-line encoder with the additional following features in an easy to use user-interface:

The command-line version of the encoder, which runs on all major platforms, is useful if you use "make" or other scripted mechanisms to build your distribution package from source trees, or if you require quot;on-demandquot; encoding.

Encoded files will work on Windows, Intel Linux, Sparc Solaris, FreeBSD, OpenBSD, NetBSD and OSX. ionCube "loaders" (i.e. the decoding engine) are freely available for these platforms and can be downloaded from the ionCube website.

Its code protection is based on multi-level encoding and optimization of compiled machine bytecodes. The result is a high-performance and highly secure protection mechanism. Encoded files are also protected by digital signatures, and any manual changes to an encoded file, will render the encoded file unusable.

ionCube comes in 3 versions:

The basic entry level product only provides encoding functionality. Only the Pro and Cerberus versions provide additional licensing capabilities.

The Pro and Cerberus versions allow you to restrict script usage by both date and time-periods (i.e. expire after a certain date or after a specified time-period, e.g. 14 days).

Both the Pro and Cerberus versions also allow you to optionally restrict your PHP scripts to run on a specific IP address and/or servername, as well as, on a range of IP addresses and/or servernames.

Only the Cerberus version allows you to restrict your scripts to run on a certain MAC address. If you're looking for an extra level of security, then you can't go past Cerberus.

Other features include:

Additionally, the Windows GUI also provides automatic archiving of encoded projects, a simple FTP client for FTP transfer after encoding, and (at the time) a unique and innovative advanced licensing feature called "dynamic fields".

For the serious PHP product developer, I would recommend either the Pro or Cerberus versions.

ionCube Online Encoder for PHP4

For the budget conscious, ionCube also offers an online encoding service. From as little as $0.50 cents, you could:

Files and archives can be compressed with Unix compress, gzip or bzip2, and both tar and zip archives are supported. By default, ionCube will only encode *.php scripts. Non-PHP files will be included in the encoded archive as unencoded files - unless you specify otherwise.

The online archive manager also allows you to easily select files for encoding, and you can choose to encode immediately or save and encode later.

Unfortunately, the online encoder only does PHP4 scripts.

Table of Contents

  1. Introduction
  2. 3 Ways to Protect your Code: Obfuscate, Encrypt, Compile
  3. PHP Encoding Software
    1. Zend Guard
    2. SourceGuardian
    3. ionCube
    4. CodeLock
  4. Summary