Foros del Web » Programando para Internet » PHP »

OpenSSL PHP

Estas en el tema de OpenSSL PHP en el foro de PHP en Foros del Web. Buenas tardes, tengo una consulta rápida, ojala me puedan ayudar. El problema que tengo es con openssl y el comando shell_exec(). Tengo el siguiente codigo ...
  #1 (permalink)  
Antiguo 06/04/2011, 14:15
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Pregunta OpenSSL PHP

Buenas tardes, tengo una consulta rápida, ojala me puedan ayudar.

El problema que tengo es con openssl y el comando shell_exec(). Tengo el siguiente codigo y en windows funciona perfectamente puesto que tengo el openssl.exe en la misma carpeta con el script.

Código PHP:
$ejecuta=`openssl version`;
echo 
$ejecuta
Y en Windows si me devuelve "OpenSSL 0.9.8g 19 Oct 2007", obviamente por que tengo el exe en la carpeta, pero en linux no se como hacerle, al no haber un archivo para linux supongo, no tengo acceso al instalador puesto que tengo una cuenta de web hosting compartido y sin opciones a que el proveedor instale cosas. Tengo OpenSSL instalado en linux por defecto, pero solo puedo ejecutarlo directamente desde la SHELL en SSH.

Ojala alguien me pueda ayudar

Saludos
  #2 (permalink)  
Antiguo 06/04/2011, 15:22
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: OpenSSL PHP

No entiendo muy bien Yeudiel, ¿tienes o no tienes acceso a la SHELL del servidor?

Seguro que estas usando apache como usuario del servidor, entonces, en ese caso, lo que tienes que hacer es modificar los permisos de este usuario para que el usuario APACHE tenga acceso a la SHELL (pero para esto debes saber que es lo que estas haciendo, dado a que puedas dejar el servidor muy vulnerable)

En segundo lugar, tienes que localizar y conocer donde esta el EJECUTABLE de OpenSSL en linux, luego de esto, el procediminto es el mismo que si se tratase en Windows.

Basicamente y de acuerdo a lo que comentas, estas trabado en lo que respecta a los permisos de los usuarios en linux.

Comenta cualquier cosa...
  #3 (permalink)  
Antiguo 13/04/2011, 15:18
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: OpenSSL PHP

Perdón por la demora al leer esto, es que me sumergí en otros proyectos muy lejos de la web, je. Pues mira ya intente con la ruta del archivo pero no logro hacerlo funcionar, estoy pensando que es una cuestion de permisos para php al ejecutar el openssl que esta en /usr/bin/openssl. Si tengo acceso a la shell, pero de una manera muy limitada (sin sudo, je). Lo que quiero es automatizar un proceso de lectura de certificados, es decir q hacerlo desde la shell no es viable.

Adjunto el codigo como lo estoy ejecutando

Código PHP:
<?php
$ejecuta
=`/usr/bin/openssl version`;
echo 
$ejecuta;
?>
Saludos y gracias de antemano
  #4 (permalink)  
Antiguo 13/04/2011, 15:53
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: OpenSSL PHP

Como dato adicional en windows me funciona perfectamente con el archivo openssl.exe que tengo en la carpeta, ademas me monte un server con Centos 5.5 y con la ruta absoluta y relativa al openssl me funciona sin problemas, la ubicacion de los archivos de este server y el de mi webhosting es la misma. lo que si no se es sobre los permisos.
  #5 (permalink)  
Antiguo 14/04/2011, 21:36
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: OpenSSL PHP

Estimado,
En Windo$s funcionara, eso es dado a los extremos permisos de seguridad que se implementan :P

No, en serio, en linux, tienes hacer que tu PHP tenga acceso a la SHELL (como en Windows al ejecutable)

Para poder acceder a la SHELL, necesitaras darle esos permisos a tu usuario de APACHE, caso contrario no podrás hacerlo.
  #6 (permalink)  
Antiguo 15/04/2011, 19:29
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: OpenSSL PHP

Error mío, no aclare que desde php si tengo acceso a la shell, puesto que ejecuto ´ls´ ´top´ ´whoami´ y funciona perfectamante. Consulte a mi proveedor y pues me dieron una respuesta que no entendi y otra que esperaba: "Contrate un VPS", lo que no entendi fue que no tienen habilitado el acceso remoto a los paquetes que por eso no puedo acceder al openssl
  #7 (permalink)  
Antiguo 13/06/2012, 17:52
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: OpenSSL PHP

Cita:
Iniciado por yeudiel Ver Mensaje
Buenas tardes, tengo una consulta rápida, ojala me puedan ayudar.

El problema que tengo es con openssl y el comando shell_exec(). Tengo el siguiente codigo y en windows funciona perfectamente puesto que tengo el openssl.exe en la misma carpeta con el script.

Código PHP:
$ejecuta=`openssl version`;
echo 
$ejecuta
Y en Windows si me devuelve "OpenSSL 0.9.8g 19 Oct 2007", obviamente por que tengo el exe en la carpeta, pero en linux no se como hacerle, al no haber un archivo para linux supongo, no tengo acceso al instalador puesto que tengo una cuenta de web hosting compartido y sin opciones a que el proveedor instale cosas. Tengo OpenSSL instalado en linux por defecto, pero solo puedo ejecutarlo directamente desde la SHELL en SSH.

Ojala alguien me pueda ayudar

Saludos
Hola yeudiel,
Te cito aqui por queria saber si me pudieses ayudar;
Estoy usando PHP en Windows (AppServ), estoy con el shell_exec y ejecuto el openssl y me dice ["openssl" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.]
el openssl lo tengo en la variable de entorno PATH = C:\AppServ\php5

Pero si lo ejecuto directamente desde el cmd todo bien.

No sabes cual puede ser mi problema.
De antemano muchas gracias.

Saludos.

Etiquetas: openssl, shell_exec
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:33.