Protect PHP script - remote and local licensing

Remote License

How remote license works?

  • user installs your software
  • software sends license key to your PHPLicengine
  • PHPLicengine sends back to your software an XML containing restrictions information
  • your software validates the received information
  • in case of validation failure, user will be shown a customizable error message and software ceases working

How the remote license key look like?

  • By default it looks like:

    8F5F524405406F8091DBF06DB60CCD8D

  • You have option to prefix it for different packages which looks like:

    PREFIX_8F5F524405406F8091DBF06DB60CCD8D

  • The location of the key depends on your integration. You can create a field in your software database to store it, and your users can submit it to the database during installation. Alternatively, it can be a php file.

Local License

How local license works?

  • user installs your software
  • user uploads the license key file in installation root
  • your software fetches restrictions information from the license file and validates it
  • in case of validation failure, user will be shown a customizable error message and software ceases working
  • attempt to alter the license key file by user will stop software working

Note:

  • You have option to expose some readable data in license file. Exposed data header looks like:

    // Expiry Date: 11-02-2009
    // foo: blah

  • This header is for information purpose only and attempt to alter it by user will stop software working

ionCube License

If you have ionCube Encoder, you can use PHPLicengine to generate ionCube licenses online.