Tu pregunta me parece un poco ambigua porque no entiendo lo que quieres exactamente a través de ella. ¿Desea los pasos teóricos que debe seguir o los algoritmos y bibliotecas prácticos para su idioma particular que puedan ayudarlo a hacerlo?
Si es una guía general sobre cómo hacer que la arquitectura de cliente-servidor se base en la seguridad del software, aquí hay una buena lectura:
enlace
Según tengo entendido, usted desea un método para autenticar automáticamente una licencia y agregar el I.P. de la computadora específica. a su base de datos de direcciones IP permitidas?
Una buena manera de hacer esto es usar un algoritmo simple de SALT + Hashing en el que:
- Cada instalación viene con un ID de producto.
- Este cliente debe pasar esta ID de producto única al servidor cada vez antes de usarla, en la que el servidor toma la ID del producto, verifica si es válida y luego genera un código de acceso (basado en la sal única de ese día dependiente diga la fecha y md5 de la sal + prodID).
- Este ID de acceso se agrega a la tabla de acceso y se devuelve al cliente. De esta manera, todos los días en la primera ejecución se verificará la validez del cliente.
¿Por qué este enfoque es bueno?
Este enfoque te deja el método de validez. Es decir. Cuando obtiene el prodID, puede garantizar varias cosas como:
- ¿Alguna otra computadora ha intentado usar esta ID de producto hoy?
- ¿Se utiliza esta ID de producto por primera vez? En ese caso almacene la IP
- Si no se usa por primera vez, ¿se permite el cambio de IP? Si es así, ¿con qué frecuencia?
Editado:
Muy bien, cambiaremos un poco el procedimiento anterior para que funcione. Supongo que desea utilizarlo en una especie de sistema de licencias.
- Configure su sistema de pago para generar un producto o ID de licencia para una compra exitosa. Este ID puede ser cualquier cosa, pero recuerde almacenarlo en su base de datos.
- Cuando el cliente ejecuta la extensión de Joomla por primera vez, obtenga la extensión de Joomla para tomar el ID del producto una vez, y almacenarlo localmente. Luego pásalo al servidor para registrarte.
- En el servidor, nuestra tabla de productos tendrá dos columnas (pID, URL). Si el producto tiene una URL nula, colocamos nuestra URL en el registro donde pID = Nuestro pID
Si no, y nuestra URL no es la URL existente, tenemos una instalación no autorizada de una instalación en una ubicación separada de la original. Se tendría que usar un método separado para volver a validarlo.