2009-11-03 12 views
6

Digamos que he desarrollado una aplicación de php y me gustaría distribuirla para que otros la usen como software propietario. ¿Hay algo que pueda hacer salvo algún tipo de licencia o simplemente confiar en el cliente para evitar tener que proporcionar una solución alojada? Claramente, si distribuyo la aplicación a los clientes que pagan para que se alojen de forma independiente, corro el riesgo de que filtren el código.¿Está comercializando una aplicación php?

Actualización:

Algunas de las respuestas hasta el momento sugieren ofuscación. Sin embargo, esto no evitará que otro usuario simplemente filtre el código ofuscado filtrado en sus servidores y lo reutilice. De acuerdo, no podrán modificarlo ... pero estoy buscando algo más completo. ¿Algunas ideas?

Respuesta

4

Ofuscación puede recorrer un largo camino. Muchos usuarios no intentarán descubrir la lógica.

También puede agregar una clave de registro, algo que llama a la nave nodriza y actúa como un dongle.

Edit: Lo que estaba buscando con el registro: puede vender licencias por el dominio, y requiere que los usuarios registren su dominio en su sitio web después de que compren.

Un script que compré requiere activación en su sitio web. (El script también está ofuscado). No ingrese el dominio, el software deja de funcionar después de un cierto período de tiempo. Transfiere dominios, y el software deja de funcionar.

No conozco la mecánica, pero la idea básica es que quiera garantizar que la secuencia de comandos se ejecuta en el dominio en el que el comprador dijo que se estaba ejecutando.

+3

Tenga en cuenta que la clave de registro es solo un enfoque razonable si el código también está ofuscado. – jheddings

+0

¿Puede detallar la clave de registro? ¿Habrá alguna lógica en el código que impida que se ejecute a menos que se obtenga una clave de registro válida de otro servidor? –

1

¿Puede elaborar en la clave de registro? ¿Habrá alguna lógica en el código que impida que se ejecute a menos que se obtenga una clave de registro válida de otro servidor?

Para hacer esto, debe generar una clave para el usuario cuando compró la aplicación. La aplicación se comunicaría con un servidor maestro que a su vez buscará la clave y verificará el dominio de donde proviene la clave y le enviará una lectura simple, verdadera o falsa. Si la respuesta es verdadera, la aplicación continuaría su funcionamiento; de lo contrario, se cerraría.

El único problema con este método es que si su servidor maestro bajara alguna vez, todos sus clientes estarían bloqueados (a menos que creara una condición donde si el servidor maestro estaba inactivo, la respuesta predeterminada sería verdadera)

+1

El cliente simplemente configuraría su firewall para bloquear las conexiones salientes del servidor web local al servidor de validación de claves. – yfeldblum

+0

Oh, lo entiendo. Otro problema, como creo que alguien más señaló, es que esto presupone que el código está ofuscado y que el usuario no puede descubrir (y eliminar) la lógica que impide que el código se ejecute sin la clave. No puedo encontrar una forma de evitar esto. –

+1

Realmente no hay forma de evitarlo sin ofuscar el código. Siempre que el usuario tenga acceso a la fuente sin procesar, puede hacer lo que quiera. – Iainzor

0

Zend tiene un producto "Zend Guard" (http://shop.zend.com/en/zend-guard.html) que puede ofrecer algo más que ofuscación.

Con sus componentes clave de codificación, ofuscar y Licencias, Zend Guard protege sus aplicaciones PHP desde la ingeniería inversa, la personalización no autorizada, el uso sin licencia y redistribución

0

También hay ionCube. En general, estas soluciones requieren una extensión del lado del servidor que se cargará, pero la mayoría de los hosts ya las tendrán cargadas.

ionCube le permite licenciar a un dominio en particular si lo desea, y también le permite poner límites de tiempo en el script (para requerir la renovación de la licencia).

Aunque de forma predeterminada ionCube es un sistema que requiere que usted mismo cree las licencias, hay un sistema que puede comprar para administrarlo automáticamente (pensé que era PHP-Audit, aunque ese sitio parece he pasado por un rediseño y entonces no puedo decir más).

Cuestiones relacionadas