El proceso de validación del password necesita varias etapas. Por simplicidad los manejaré en estos blogs como archivo aparte. La parte generador de licencia necesita usar headers, asi que se complica el ponerlo dentro de un script mayor. Por eso, lo pongo en archivo aparte, por simplicidad en la explicación.

Entonces, necesitamos tres archivos:

1 ) Generador de licencia, que genera el .php verificando primero enlazandose a la tabla de datos de clientes y que estemos conectados a un script global. Actualiza la palabra viva en servidor.

2 ) Solicitador de Licencia , que irá en la PC virtual. Si la ip no cuadra, o el resultado es diferente, impide el acceso al aplicativo.

3 ) Calificador de Licencia. Archivo que va en el servidor, y que idealmente debe guardar ip fecha y hora de quien solicita la validación. Por simplicidad no guardo bitácora en el ejemplo.

Requisitos entonces:

1 ) Tanto PC Virtual como servidor, deben tener habilitado curl
2 ) Preferentemente el servidor debe tener HTTPS para reducir riesgo de DNS poisoning
3 ) Enlace con internet de parte del cliente, para validar que el sistema tenga palabra viva.

Se asume por obvio:
1 ) Debe adaptarse el script para enlace a base de datos.
2 ) La variable de sesion variable, en el generador debe ser valids en el proyecto general. Si se omite no hay problema pero es inseguro.
3 ) Debe modificarse la tabla de clientes para añadir un campo llamado Palabra Viva
4 ) Debe definirse en PC virtual el numero de maquina virtual por un define
5 ) Debe llamarse al validador desde el aplicativo de la pc virtual.
6 ) Los paths absolutos deben modificarse. El dominio example.com es un ejemplo.
7 ) El archivo debe tener extension php-
==============================================
Al terminar la serie comentaré las posibles mejoras que pueden hacerse.

Puedes descargar aqui el generador de licencia.
http://www.alfonsoorozcoaguilar.com/codigo/generador.txt