PHP Classes


Recommend this page to a friend!
  Classes of Oliver Lillie   PADL (PHP Application Distribution License System)   README   Download  
Role: Documentation
Content type: text/plain
Description: README
Class: PADL (PHP Application Distribution License System)
Generate PHP application license keys
Author: By
Last change: accessibility
Date: 17 years ago
Size: 2,637 bytes


Class file image Download
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 ( 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. --------------------------- The original class has now been broken down into seperate classes, both for security and ease of use. The demo folder contains a demo single file application, you should note that both the app folder and server also contain seperate demo files. The App folder contains the classes that would be required by the application using this class. And the Server folder contains the class that would be used by your license server setup. The additional folder, Shared, contains the main distributionLicense class and is needed by both the app and server classes. The demo files should explain the new setup. I have added new features removed some old redundant ones, and updated others. I do eventually want to evolve this class into an application with a gui, and will be looking for help with that if anybody cares to offer.