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:
- Project-based configuration support, with precise replication project structure and file attribiutes
- Selectable Binary or ASCII encoded file formats
- Ability to insert plain text annotations in encoded files for custom copyright, license, and other details
- Ability to optionally include/exclude/copy files from source trees to the encoding target
- Ability to insert a digital signature to prevent file tampering
- Ability to prevent unauthorized files from including encoded files
- User selectable compatibility with OpenSource extensions, e.g. MMcache
- Ability to insert customised messages on script expiry or if the encoded scripts aren't authorized to run from
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:
- Entry Level
- Pro; and
- Cerberus
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:
- Ability to recognise short open tags (<? ?>) and ASP tags (<% %>)
- Ability to include/exclude any files and directories from being encoded or included in the target
- Ability to add plain text annotations to encoded files, such as custom copyright messages, license and version info
- Ability to display customised messages on expiry or if your software is not licensed to run on the particular server
- Fine-level control for replication of project structure, symbolic links, and file permissions
- Script access to ionCube functions through a user-callable API
- Optional syntax only checking across the entire project
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:
- Encode a single file
- Encode an archive containing PHP scripts and any other file types
- Make FREE test encodings or pay-to-download
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.