Fiabilidad del Ofuscado de código PHP

Tunnecino

Pues eso, que fiabilidad o seguridad tengo de que sea bastante complicado des-ofuscar mi código.

Lo digo por varios clientes gorrones, y obligarlos a pillar o pagar otra web si quieren usarla en otro sitio.

Saludos

PiradoIV

Hombre, cada uno vende sus platos de comida como quiere, pero lo normal es que si vendes código, más que ofuscarlo deberías entregarlo completamente comentado y con todas las ayudas posibles para retomar el proyecto.

Tunnecino

Pero, eso te interesa y no. Puedo vendertelo de dos formas:

Más cara -> Código entero.
Más barata -> Código ofuscado.

Y de todas formas, qué pasa si yo tengo un software webbased y solo quiero que funcione en un dominio, o durante cierto tiempo. No todo lo que vendes tiene que tener el código disponible.

NeB1

#3 te comprendo.

La ofuscacion no es una solución, aparte de que hay muchos desofuscadores, si le hechas mucho tiempo y sabes, puedes llegar a desofuscarlo tu mismo.

Lo mejor que puedes hacer es instalar junto a tu aplicación un compilador de php rollo eAccelerator y tu aplicación compilada.

erdanblo

#3 Servidor de licencias.

Haz que tu aplicación valide contra un servidor de licencias, tomas el dominio desde donde hace la consulta, y si ves que es distinto al 1º, bloqueas el uso.

Tunnecino

Ya, pero y si el instalar un programa en el lado del cliente no es factible, viable o posible... ¿Cuál sería la mejor opción?

#5 Y el contacto con el servidor de licencias como sería? No puede ser vía código... por que o una de dos:

  • Obligas al cliente ha estar o tener conectado internet en el equipo donde se ejecuta el programa, o si no no funciona.

  • Si no lo obligas, como haces que se compruebe. O simplemente el cliente podría quitar esa parte del código para que no se comprobase.

GamA

Exactamente eso estaba pensando yo:

"- Si no lo obligas, como haces que se compruebe. O simplemente el cliente podría quitar esa parte del código para que no se comprobase. "

Si ofuscas esta parte del código la URL no podrás, y si la ve, con quitártela ya está. A no ser que la url la introduzcas como códigos ASCII char a char, y solo verá una serie de números que no sabrá para que sirven.

Solo se me ocurre ofuscar esa parte y hacer que sea en esa parte ofuscada donde hagas que la web se visualice, para que si quitan todo lo ofuscado no se visualice.

Algo tipo

function blablabla(){
aquí el html de la web a mostrar
}

(OFUSCADO)

function comprobarContraServidorLicencias(){
aquí la comprobación
}

comprobarContraServidorLicencias();
blablabla();
(OFUSCADO)

Pero a poco que el tipo sepa de PHP hará el blablabla(); el mismo y te quitará el código ofuscado. La verdad que el tema de programación web tiene ciertos problemas que pueden dar algunos quebraderos de cabeza :(.

suaveSHOW

Me dio curiosidad lo que buscabas y encontré esto en plan gratuito.
http://jcarlosrendon.morelosplaza.com/herramientas/ofuscador.php

Y lo que hice en una ocasión con una página que hice fue poner una linea como esta dentro del código "ofuscado"

$validar=file_get_contents("http://url.com/valido.php?id=X");

Cuando entro si el valor es 1 la página carga, si no hacia un die().
"X" es una id que le doy a cada página.

Una vez te pagan quitas eso y ya esta.

=)

Letto

Yo lo de las licencias lo veo un engorro y vender código ofuscado a menos que se lo dejes muy claro al cliente lo veo un poco feo.

Quizás puedes plantear un producto SAS o de venta. Es decir le ofreces al cliente pagar un tanto al mes por usar el servicio (más un fijo inicial que no sea muy alto) o comprar el producto y que haga lo que quiera con él (pero deberá pagar más de entrada).

Cada vez las empresas tiran más a soluciones SAS que les evitan sustos y problemas de IT.

CricK

Al desofuscar el código no queda muy legible ya de por sí, y es complicado hacer modificaciones.

Siempre se pueden hacer cosas imaginativas para complicarlo. Si no puedes realizar conexión al exterior, puedes obtener el hash de una de las páginas principales, y comprobar luego que ese hash no se ha modificado en algún sitio medio escondido.

Usuarios habituales

  • CricK
  • Letto
  • suaveSHOW
  • GamA
  • Tunnecino
  • erdanblo
  • PiradoIV