Foros del Web » Programando para Internet » PHP »

Encriptar código PHP

Estas en el tema de Encriptar código PHP en el foro de PHP en Foros del Web. He realizado un trabajo utilizando PHP y he escuchado a manera de rumor que el código se puede encriptar de tal forma que sea ilegible ...
  #1 (permalink)  
Antiguo 03/02/2006, 09:45
Avatar de usataque  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogotá D.C.
Mensajes: 15
Antigüedad: 19 años
Puntos: 1
Mensaje Encriptar código PHP

He realizado un trabajo utilizando PHP y he escuchado a manera de rumor que el código se puede encriptar de tal forma que sea ilegible para cualquier persona. Deseo realizar este procedimiento pero no se como hacerlo ni que herramienta lo haga. Sería bueno saber si existe alguna herramienta GNU que lo haga o en su defecto cualquier herramienta que lo haga..
  #2 (permalink)  
Antiguo 03/02/2006, 09:50
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Si amigo de echo en el post aportes de codigo publique el script que yo uso es en base64 ok?

http://www.carlosfocus.com/scripts/encriptar.zip

click ahi para descargarlo

Saludos.

PD: el script no funciona local tienes que subirlo a algun hosting.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #3 (permalink)  
Antiguo 03/02/2006, 09:52
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
No entiendo el porque de encriptar tu código php puesto que php se ejecuta del lado del servidor, al usuario final no le llega absoltamente nada de código de php unicamente le llegan las etiquetas <html> para que las interprete el browser.
  #4 (permalink)  
Antiguo 03/02/2006, 10:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En muchos casos lo que deseas es proteger tu propiedad intelectual de tu aplicación .. evitar que sea distribuida bajo condicones que tu no acordastes con tu cliente .. en otros servidores, versiones de prueba que deben expirar .. etc.

Todo esto cara al código PHP lo puedes asegurar con aplicaciones como:

Zend Safeguard
http://www.zend.com/products/zend_safeguard

PHP Encoder
http://www.ioncube.com/

Como veras .. son aplicaciones de "pago" .. algo lógico si quieres proteger tu trabajo y no es una aplicación de libre distribución /licencia (GNU o equivalente).

Lo que es el código de salida que PHP genere (ese "HTML" .. etc...) no tiene sentido protegerlo .. más bien "ofuscarlo" .. es decir .. complicar su lectura . .pero realmente eso es lo de menos. Lo que debe preocuparte es el código PHP que en realidad es tu fuerte en el trabajo.

Un saludo,
  #5 (permalink)  
Antiguo 03/02/2006, 10:25
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Yo use el que publique ya que desarrolle una aplicacion de administracion de clientes de hospedaje web y tenia dos maneras de venderlo codigo abierto o encriptado.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #6 (permalink)  
Antiguo 03/02/2006, 10:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por carlosfocus
Si amigo de echo en el post aportes de codigo publique el script que yo uso es en base64 ok?

http://www.carlosfocus.com/scripts/encriptar.zip

click ahi para descargarlo

Saludos.

PD: el script no funciona local tienes que subirlo a algun hosting.
Si usas "base64" . técnicamente no estarías encriptando nada .. (de hecho lo dice el código que presentas en sus comentarios de uso).

sino "ofuscando" .. El termino es diferente. El hecho es que si tu usas "base64_encode()" .. cualquier persona puede tomar eso y aplicar otro "base64_decode()" sin problemas. Lo compliques más o menos .. no es una encriptación propiamente tal sino una "ofuscación" o "ponerlo más dificil para quien lo lea".

Un saludo,
  #7 (permalink)  
Antiguo 03/02/2006, 11:13
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Si cierto la idea seria en binario o md5 de este tema si no tengo mucha experiencia.........
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #8 (permalink)  
Antiguo 03/02/2006, 11:51
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 10 meses
Puntos: 9
como te dijeorn por ahi el Zend Encoder :)
  #9 (permalink)  
Antiguo 03/02/2006, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por carlosfocus
Si cierto la idea seria en binario o md5 de este tema si no tengo mucha experiencia.........
Con MD5() no podrías "desencriptarlo" ...

Un saludo,
  #10 (permalink)  
Antiguo 03/02/2006, 15:40
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 20 años, 9 meses
Puntos: 0
http://www.forosdelweb.com/f18/ofuscar-codigo-php-encriptar-333835/
  #11 (permalink)  
Antiguo 20/02/2006, 12:03
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola a todos.

No entiendo muy bien cómo funciona... ¿encriptas los archivos PHP y el sevidor los "desencripta" solicitando una clave externa controlada por tí?

Es que no entiendo cómo es posible que el servidor pueda renderizar las páginas sino :(
  #12 (permalink)  
Antiguo 28/03/2006, 10:39
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 7 meses
Puntos: 11
El Zend Safeguard lo que hace es generar un código intermedio que puede leer el motor de ejecución Zend (es el motor de ejecución de PHP).
Funciona exáctamente igual que si no lo hubieras encriptado (la palabra sería compilado) y hasta tiene mejor rendimiento.

Los mecanismos de cifrado en base64 son una risa, es decir:
Con las función base64_decode() obtenés el código PHP.

Ofuscar el código te garantiza que va a ser muy difícil de leerlo pero no imposible, ahora compilarlo es otra cosa, aunque aún así alguien lo va a poder leer, como "Assembler" y C++

Un saludo,
  #13 (permalink)  
Antiguo 02/05/2006, 12:35
Avatar de usataque  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogotá D.C.
Mensajes: 15
Antigüedad: 19 años
Puntos: 1
Existe un script llamado eaccelerator se puede encontrar en(www)eaccelerator(.)com, esta misma se encuentra viene con el paquete instalador Xampp 1.5.0 que se encuentra en (www)apachefriends(.)com. Este script permite codifica el código php de tal manera que no se pueda leer. Quisiera saber si existe algo que cumpla con la misma función pero merjo.
  #14 (permalink)  
Antiguo 17/06/2006, 07:43
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 19 años, 3 meses
Puntos: 5
Hola, yo estoy buscando tambien una forma de encriptar el password de login y del registro para poder usar la misma base de datos de usuarios de mi foro phpBB. EL caso es que el phpBB encripta las contraseñas mediante md5 cuando te logueas y cuando te registrás pero creo que tiene que aver alguna manera de encriptarlo y desencriptarlo para poder usarlo en mi página como ejemplo...
Saludos.
  #15 (permalink)  
Antiguo 17/06/2006, 09:10
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
en ese caso, para desencriptarlo, está base64_encode y base64_decode

ej:

$codificado = base64_encode("Hola, soy una cadena encriptada");
echo $codificado;

te dará...

SG9sYSwgc295IHVuYSBjYWRlbmEgZW5jcmlwdGFkYQ==

----

$decodificado = base64_decode($codificado);

echo $decodificado;

te dará...

Hola, soy una cadena encriptada

nos vemos y espero te sirva :P

también existe... crypt(), pero este es dinámico por decirlo así... cambia, osea, tú encriptas algo con crypt, refrescas la página y cambiará la encriptación...

Pruebalos y busca en php.net :) nos vemos
  #16 (permalink)  
Antiguo 19/06/2006, 06:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por spider_boy
en ese caso, para desencriptarlo, está base64_encode y base64_decode

ej:

$codificado = base64_encode("Hola, soy una cadena encriptada");
echo $codificado;

te dará...

SG9sYSwgc295IHVuYSBjYWRlbmEgZW5jcmlwdGFkYQ==

----

$decodificado = base64_decode($codificado);

echo $decodificado;

te dará...

Hola, soy una cadena encriptada

nos vemos y espero te sirva :P

también existe... crypt(), pero este es dinámico por decirlo así... cambia, osea, tú encriptas algo con crypt, refrescas la página y cambiará la encriptación...

Pruebalos y busca en php.net :) nos vemos
Un comentario .. "base64" es un sistema de "codificacación" no un algorítmo de encriptación .. pues no hay "semilla" para realizar el proceso y usando la función inversa la "decodificas" sencillamente.

No sé si los términos que empleo son "semanticamente" correctos .. pero el caso es que si tienes una cadena X "supuestamente" encriptada .. y uno quiere "probar" si está "codificada" en base64 .. tan sólo deben aplicar dicha función .. por ende no es un sistema "seguro" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 19/06/2006, 07:12
 
Fecha de Ingreso: junio-2006
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Turck MMCache for PHP

Turck MMCache es un codificador, optimizador y acelerador para PHP, open source, equivalente al ZEND.

turck-mmcache.sourceforge.net
  #18 (permalink)  
Antiguo 26/06/2006, 22:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 72
Antigüedad: 18 años, 9 meses
Puntos: 2
Aumenta la seguridad ofuscando

Hola a todos

No entiendo a fondo mucho de esto, pero preocupado por la seguridad de un cms, leí que si un archivo *.php esta ofuscado al querer aprovechar una bulnerabilidad en él se hace imposible ya que la injección sql o el exploit no encontrarán las cosas ordenadas y con sus nombres originales...

Es cierto?... entonces: Aumenta la seguridad ofuscando los archivos?.

Gracias de antemano. Saludos. (espero haberme explicado bien y utilizado las palabras correctas)
  #19 (permalink)  
Antiguo 27/06/2006, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
leí que si un archivo *.php esta ofuscado al querer aprovechar una bulnerabilidad en él se hace imposible ya que la injección sql o el exploit no encontrarán las cosas ordenadas y con sus nombres originales...

(Me gustaría ver la fuente oficial de ese artículo) .. En principio no tiene nada que ver el hecho de "ofuscar": complicar la lectura del código para un "humano" que otros problemas própios de nuestra programación como el "SQL injection" y otro tipo de errores en la programación similares.

"Ofuscar" como ya se ha comentado en este mismo tema .. se trata de "ponerte dificil" la lectura del código: juntando todo el código en una línea .. sustituyendo nombres de variables originales por nombres ilegibles y dificiles de seguir el código .. etc.

Ofuscar código o incluso "psudo-compilarlo" (como hacen los Motores descritos como Zend Safeguard, PHP encoder .. etc. NO aumentan la seguridad de tu aplicación. Si está "mal programada" será igual de insegura sea como sea que lo ejecutas.

Si a "seguridad" cuando usas algún ofuscador o similar te refieres a que "al no ver su código fuente legible" vas a ver más fácilmente algunos errores de programación .. OK .. por supuesto que no lo vas a ver así de facil .. Pero las "pruebas" de seguridad justamente no pasan por "ver su código" sino por ejecutar ciertas pruebas para ver como responde tu código: injectar SQL en un campo de tu aplicación (formulario) que pidas datos .. alterando el URL .. etc .. etc.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 27/06/2006, 11:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 72
Antigüedad: 18 años, 9 meses
Puntos: 2
Duda aclarada, excelente tu explicación, gracias.
  #21 (permalink)  
Antiguo 27/06/2006, 13:33
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 8 meses
Puntos: 78
Para quienes no entienden porque codificar un codigo PHP si es que no se ve en el browser piensen asi:

Yo hago una aplicacion que vale en horas 800 euros, pero de pronto no lo pueden pagar y tengo la posibilidad de venderlo 4 veces entonces lo cobro 300 euros :), es mi trabajo, es mi inversion son mis ideas, son mis horas de trabajo, mis estudios, y de ello vivo, pero use una estrategia comercial y rentabilice ganando 1200 euros ok ??

Bien, mi cliente que tenia el sitio www.micliente.com conoce a otro amigo del mismo rubro y este le pregunta, conoces algun programador que me haga un sitio como el tuyo ?, y le contesta si, el mio, y cuesta 300 euros. Pero te lo vendo por 100 :) asi desquito

jeje se entendio el ejemplo ??

Agregale ahora que lo venda varias veces ;) o que como tu cobras 300 y el tiene un primo de un amigo que esta estudiando y rencien comienza por 50 se lo duplica cuantas veces quiera.

Como comenta Cluster, yo he usado

Zend Safeguard
http://www.zend.com/products/zend_safeguard

y tiene la ventaja de que es soportado en casi todos los hosting ya que requiere de una parte que entienda eso antes de interpretar el PHP y eso va en el server.
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #22 (permalink)  
Antiguo 05/08/2007, 13:24
Avatar de usataque  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogotá D.C.
Mensajes: 15
Antigüedad: 19 años
Puntos: 1
De acuerdo Re: Turck MMCache for PHP

Cita:
Iniciado por Malangon Ver Mensaje
Turck MMCache es un codificador, optimizador y acelerador para PHP, open source, equivalente al ZEND.

turck-mmcache.sourceforge.net

Encontré una herramienta llamada eAccelerator, es la versión actualizada de Turck MMCache, viene para instalar en Linux o Windows; también esta en la última versión de Xampp.
Espero que la información pueda servir.
  #23 (permalink)  
Antiguo 05/08/2007, 13:45
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 8 meses
Puntos: 78
Re: Encriptar código PHP

mmm y lo que viene con Xampp no es el Zend Optimizer 3.3 ??

http://www.apachefriends.org/en/xampp-windows.html


The XAMPP 1.6.3a is available!
We've released a new version of XAMPP, including:
  • Apache HTTPD 2.2.4 + Openssl 0.9.8e
  • MySQL 5.0.45
  • PHP 5.2.3
  • PHP 4.4.7
  • phpMyAdmin 2.10.3
  • Zend Optimizer 3.3.0
  • 1.6.3 Patch
aunque en su versión linux creo le llaman así :P
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #24 (permalink)  
Antiguo 06/08/2007, 05:35
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 7 meses
Puntos: 11
Re: Encriptar código PHP

El Zend Optimizer es lo que se necesita instalar en el servidor WEB para correr archivos pre-compilados con el Zend Safeguard.


El Optimizer trae algo llamado Zend Encoder, esto es lo que permite la ejecución de archivos precompilados, de hecho, hay una directiva para deshabilitar esta opción, lo que ahorra recursos si es que no se va a usar esta funcionalidad en el servidor.


Personalmente, me inclino por el Zend Optimizer, ya que Zend es la empresa encargada del desarrollo del motor de ejecución de PHP y como bien dijo elquique es soportado por la mayoría de los servidores web....


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:45.