Protected script loaders (ixed loaders)
Protected script loaders are dynamically
loaded PHP extensions which load the protected script,
decrypt it and then run the bytecode. The Source code
is never restored at any time, even in memory. There are
different versions of the loaders available for different
operating systems and PHP installations.The appropriate
version of the loader will be automatically loaded by
the protected script, if this is supported by your web
server and PHP configuration.
SourceGuardian™ for PHP protected
script loaders may also be installed manually in to a
php.ini file - This is useful, for example, if automatic
loading is not supported or if faster performance is required.
Protected Script Loaders will be updated periodically
and the latest loaders are always freely available from:
http://www.sourceguardian.com/ixeds/
Installing with PHP version 5.2.5 and later
For all PHP versions prior to 5.2.5 all you need to run a protected script is a small decoder file which is simply included with your script and the ability to dynamically load modules at run time - the default install of PHP. For PHP 5.2.5 and newer you need to copy the decoder file into PHP's extension_dir folder. Even if your target platform is running in PHP Safe Mode (and hence won't allow dynamic module loads) or if dynamic loading is disabled for security reasons most hosting providers are happy to enable their servers with SourceGuardian compatibility server-wide with a single entry in the PHP.ini file.
Loader filename structure
The
following provides an overview of the loader naming conventions:
ixed.X.Y.Zdd.os
X.Y
|
-
major PHP version number (4.3 for 4.3.x, 5.0 for 5.0.x)
|
Z
|
-
minor PHP version number (2 for 5.0.2)
This part may be missed in the loader name which means
that this loader is for all higher PHP versions:
| · |
ixed.4.3.lin
- for all PHP 4.3.x versions
|
| · |
ixed.5.0.0.lin
- for PHP 5.0.0 only
|
| · |
ixed.5.0.1.lin
- for PHP 5.0.1 only
|
| · |
ixed.5.0.2.lin
- for PHP 5.0.2 only
|
| · |
ixed.5.0.lin
- for all PHP 5.0.3+ versions and higher
|
|
dd
|
-
optional code of supported encoder and system:
| · |
(missed)
- this loader will load scripts protected with
full version of SourceGuardian 4.0 for PHP
|
| · |
ev.
- this loader will load scripts protected only
with the evaluation version of SourceGuardian
4.0 for PHP
|
| · |
ts.
- this loader will load scripts protected with
the full version of SourceGuardian 4.0 for
PHP and is suited for manual installation on systems
with Thread Safety enabled PHP (see details below)
|
|
os
|
-
three char code of operating system type. For example:
|
Automatic ixed loading
Most operating systems and installations
of PHP will load the Protected scripts without any modification.
PHP will be able to find and load the appropriate loader
if the following conditions are met:
1) Operating system and PHP mode:
Linux or FreeBSD - PHP installed as CGI or CLI
Linux or FreeBSD - PHP installed as Apache module (with
thread safety off)
Windows - PHP installed as CGI or CLI
2) Thread Safety is disabled and Safe Mode is off. You may check phpinfo() output for this.
3) dl() is enabled. You should have enable_dl=On in your
php.ini.
4) The PHP extensions directory needs to exist. Please
check that the extension_dir= option in php.ini points to
the real directory. Some hosting companies have incorrect
installations of PHP and this can cause problems.
5) The latest ixed loaders are installed in an /ixed/ subdirectory
within your scripts directory or any parent directory. Examples
are below:
Example 1:
(loaders are in the /ixed/ subdirectory within the scripts
directory)
/home/mysite/www/myscript1.php - your protected script(s)
/home/mysite/www/myscript2.php - your protected script(s)
/home/mysite/www/subdir/otherscript1.php - other protected
script(s)
/home/mysite/www/subdir/otherscript2.php - other protected
script(s)
/home/mysite/www/ixed/ixed.* - script loaders
Example 2:
(loaders are in the /ixed/ subdirectory within any *parent*
directory)
/home/mysite/www/myscript1.php - your protected script(s)
/home/mysite/www/myscript2.php - your protected script(s)
/home/mysite/www/subdir/otherscript1.php - other protected
script(s)
/home/mysite/www/subdir/otherscript2.php - other protected
script(s)
/home/ixed/ixed.* - script loaders
6) (For windows users only) extension_dir= option in php.ini
should point to the directory located *on the same drive*
with your document root and scripts directory.
Manual ixed installation
It is possible to Manually install the
ixed and this is required in the following conditions:
1) Operating system and PHP mode:
Linux or FreeBSD - PHP installed as Apache module (with
thread safety on)
Windows - PHP installed as Apache module (thread safety
is always on)
2) If Thread Safety is enabled or Safe Mode is on. You may check phpinfo() output for this. PHP installed as Apache module under Windows will always have Thread Safety on.
3) If dl() is disabled. You have enable_dl=Off in your php.ini.
Manual installation may be used even if automatic loading
is available. With appropriate and manually installed SourceGuardian™
loaders you give the maximum performance for your protected
scripts. This is because the script will not need to search
for a loader each time it runs.
For manual installation of SourceGuardian™ protected
script loaders you should have access to the php.ini configuration
file. Manual installation is easy:
1) Check phpinfo() output for PHP version, Thread Safety
mode and extension_dir path.
2) Copy the latest loaders into the /ixed/ subdirectory
of your PHP extension_dir
3) Add one line into your php.ini with the appropriate
loader name. This will depend on your OS, PHP version, Thread
Safety mode and SourceGuardian™ version (full or evaluation).
Please refer to the "Loader filename structure"
section above.
Examples:
(These are not the only possible variants, and are just
provided as examples)
extension=ixed/ixed.4.3.lin # for Linux, non thread safe,
PHP 4.3.x
extension=ixed/ixed.5.0.0.lin # for Linux, non thread safe,
PHP 5.0.0
extension=ixed/ixed.5.0.1.lin # for Linux, non thread safe,
PHP 5.0.1
extension=ixed/ixed.5.0.2.lin # for Linux, non thread safe,
PHP 5.0.2
extension=ixed/ixed.5.0.lin # for Linux, non thread safe,
PHP 5.0.3+
extension=ixed/ixed.5.0.0ts.lin # for Linux, thread safe,
PHP 5.0.0
extension=ixed/ixed.5.0ts.lin # for Linux, thread safe,
PHP 5.0.3+
extension=ixed/ixed.4.3.fre # for FreeBSD, non thread safe,
PHP 4.3.x
extension=ixed/ixed.4.3ev.fre # for FreeBSD, PHP 4.3.x,
evaluation version
extension=ixed/ixed.4.3.win # for Windows, PHP 4.3.x
extension=ixed/ixed.4.3ev.win # for Windows, PHP 4.3.x,
evaluation version
extension=ixed/ixed.5.0.2.win # for Windows, PHP 5.0.2
extension=ixed/ixed.5.0.win # for Windows, PHP 5.0.3+
extension=ixed/ixed.5.0ev.win # for Windows, PHP 5.0.3+,
evaluation version
|