Innovation Award
 May 2005
Winner |
There are several solutions to help developers protecting the PHP software of applications that they want to sell.
Usually the developers provide license keys with their software that include information about the licensed code, enabled features, authorized configuration of the environment on which it is being installed.
This helps the developers to limit the scope of usage of their software according to the type of software license that their clients purchase.
This way the developers can use the same software distribution for different configurations and prices and even trial versions.
This class provides a means to generate license keys that include encrypted information about the clients PHP environment and even a way to send the keys to the developers site so they can capture the client features and generate upgraded keys that can enable more features for clients that pay the upgrade price.
Manuel Lemos |
This class can used to generate license style keys to control the distribution and functionality of PHP applications.
It generates license strings that can bind PHP applications to specific domains, specific servers, can only be executed during limited time period, or to restrictions placed on a home server within the license key.
The binding to server process attempts to use the server network card MAC address. This feature was tested on servers are Mac OS X (Darwin), Linux, Windows XP, although it may also work for FreeBSD, NetBSD, Solaris.
PADL also attempts to use information from $_SERVER variable to encode that server name, server IP, server application path and server application url to the license key. Part of the process also binds the IP Address from the $_SERVER variable if found, but it also attempts to parse the server config file (the same used to get the MAC address) for any more IPs.
The server binding can be disabled if required, and it also possible to block the key being generated for the localhost address (127.0.0.1).
The time limiting of the license uses a start period (and a given start offset to allow for time discrepancies) and an expiry date if required.
If required when validating a key it is also possible to dial home to check the license key on your own PADL License Server, examples are given.
The PHP_OS and PHP_VERSION of the php that the key was generated for is also encrypted into the key.
It is also possible to encrypt additional information into the license key to enable you to place restrictive features in your application to allow the creation of trialware or demoware.
This class is still in development however it is stable. A GUI is to follow.
 |
| Project record: |
padl |
| Popularity score: |
92.2 |
| Vitality score: |
1.01 |
|
| Ratings | Utility |
Consistency |
Documentation |
Examples |
Tests |
Videos |
Overall |
Rank |
| All time: |
Good (95.7%) |
Good (92.4%) |
Sufficient (68.2%) |
Sufficient (77.2%) |
- |
- |
Sufficient (71.6%) |
127 |
| Month: |
Not yet rated by the users |

If you know an application of this package, send a message to the
author to add a link here.