Share

RECURSOS WEB: CONTROLAR LICENCIAS CON PHP

imagesBuenas Chicos, Desde Cashuba.com, estamos trabajando en un script para gestión hotelera, y a la hora de plantear nuestra estratégia de marketing y ventas estamos valorando la opción de vender licencias a terceros para que otros puedan dar una solución de gestión hotelera a sus clientes. En definitiva hemos estado en la oficina dandole unas vueltas al control de licencias y creo que hemos dado con una posible opción bastante buena. Llevamos Trabajando en este script desde noviembre de 2012, ahora siendo agosto de 2013, creo que va siendo hora de recoger los frutos. En las próximas semanas iremos haciendo el tema de los videos explicando cada una de las secciones de la web hotel. Bien retomando el asunto del post, comentaros que  la solución de generar licencias no es más que para facilitar las cosas a otros diseñadores y lelgar con nuestro producto  a un gran público (hoteles, hostales, pensiones, apartamentos, desarrolladores, programadores y freelances.). La idea es comercializar cada licencia a un precio fijo de 400 a 600 €uros + una cuota de mantenimiento mensual especialmente reducida... estaríamos hablando posiblemente de una cuota de 20 a 40 €uros/mes. de momento los primeros contactos que hemos tanteado, se han mostrado ilusionados al plantearse como una opción sin cargos ocultos y sin las temidas comisiones que otras aplicaciones del sector están imponiendo. Yo qué quereís que os diga pero no me molaría nada, nada, tener un hotel y ver como el 8% de todo lo que vendo se lo adjundica una empresa por publicar mi stockaje de habitaciones en MI web. no lo veo razonable, amén de otras comisiones abusivas y nada sensatas de la industria (Booking.com 15% a 17%, entre tantos..) La solución de las licencias las hemos encontrado poniendo las librerías de nuestro web hotel en nuestro servidor y atacando dichos archivos pasándoles algunas variables como por ejemplo :
  • Nº licencia
  • Clave de Licencia
  • Contra-Clave de la Licencia
  • Dominio asociado a dicha Licencia.
  • Ip del dominio, etc..

Requisitos,

1. Hemos  hecho una nueva sección en el back-end de la gestión del hotel llamada licencia. en esta sección el cliente introducirá su licencia y su contraclave, que le facilitaremos y crearemos nosotros y que estará en una base de datos como la siguiente:

Id

Licencia

Clave

contraclave

Dominio

1

25

1sddas54123dsfg)(;238syhtb

8a326427;

www.hotellos4castillos.com

2. La carpeta de Includes o librerias para funcionar la colgamos en nuestro servidor. ¿Cómo serán los includes de la web  a Instalar? La aplicación del servidor del cliente no habría que tocar nada, a excepción de abrir cada uno de los includes , vaciarlos y ponerles un nuevo código que ponga algo asi: a) conectate a tu base de datos, b) selecciona la tabla licencia y dame en la variable "licen" (número de tu licencia) y  "contra" (tu contraclave). c) requerimos el include del servidor de cashuba.com pasando unas variables... $licen= "licencia"; $contra= "contra-clave"; $dom =$_SERVER['SERVER_NAME']; $variables_a_pasar ="?licencia='.<?php echo $licen?>.'&contra='.<?php echo $contra;>?.'&dominio=<?php echo $dom; ?>"; require ('93.12.24.57/licencias/includes/admin_class.php'.$variables_a_pasar '); Al principio de cada include de nuestro servidor, verificamos con una función que coincidan con los datos de nuestra bbdd, si coinciden que sigan leyendo y si no die(); El siguiente paso será encriptar sólo y exclusivamente los includes del cliente. A excepción de los datos de la bbdd conexion (usuario de bbdd, clave, usuario, etc..) y poco más.

RESUMIENDO

A) Crear una base de datos en el server de cashuba.com, con los datos de la tabla de arriba A2) Crear una tabla en la bbdd de los clientes que recoja  clave y contraclave B) Cambiar los includes del cliente para que lance variables y encriptar sólo dichos archivos C) evaluar esas variables en nuestro servidor y si son ok, que pueda continuar leyendo el documento. El siguiente paso a lo mejor estaría en que cada hotel tenga sus propios includes, (en nuestro servidor) por si alguien solicita algún módulo nuevo, sólo esté operativo para ese cliente. El hecho de tener includes en común es muy beneficioso ya que nuevas caracterísiticas se aplicarian de golpe a todas las instalaciones de todos los clientes y tenerlas independientes, mejoraría el servicio individual de cada instalación ya que daríamos sólo lo que requiera cada cliente. Si decidieramos optar por includes independientes para cada cliente, podría plantearse de la siguiente manera: Colgar los includes por carpetas, así por ejemplo el 25, coincidiría con el hotellos4castillos.com y esa ruta 25, se podría capturar sin problemas de la bbdd que se creó en nuestro server. He indagado bastante por internet, y casi todo el mundo ofrece 3 soluciones - instalaciones propias bajo tu propio servidor - instalaciones con archivos encriptados - instalaciones con codigo abierto y control de licencias   Si bien es cierto que cada tipo de licencia sobre scripts php tiene sus ventajas e inconvenientes  la primera opción es la más controlada, ya que tu código de desarrollo no llega a terceras manos. las instalacion de archivos encriptados complica mucho el mantenimiento al tener que ofuscar y des-ofuscar el código, finalmente decidimos controlar las licencias procesando algunos datos ocultos como la ip, el dominio del que procede la consulta, etc.. Cuando tengamos completamente acabado este tip os lo enseñaremos en un vídeo.!      
Share