Acceso a consola de nuestro servidor web
Enviado por Miguel Carmona :: 2 de Octubre de 2008

Alguna que otra vez, nos hemos encontrado con la necesidad de ejecutar algún comando en nuestro servidor web.
La gran mayoría de las empresas proveedoras de hosting nopermiten el acceso al mismo (si tú eres uno de los que lo permiten, deja un comentario para que conozcamos ese buen proveedor).
Así pues, php tiene algunas funciones que nos permiten ejecutar comandos de consola en nuestro servidor web.
system
- la función nos permite lanzar un comando en consola y retorna el resultado y salida.
echo ‘pre>’;
// Muestra el resultado completo del comando “ls”, y devuelve la
// ultima linea de la salida en $ultima_linea.
// Almacena el valor de retorno del comando en $retval.
$ultima_linea = system(‘ls’, $retval);
// Imprimir informacion adicional
Última linea de la salida:’ . $ultima_linea . ‘
Valor de retorno: ‘ . $retval;
echo ‘/pre>’;
?>
exec
similar a la función system
passthru
la función es similar a exec, con la diferencia que retorna binarios
Con estas funciones podemos acceder a la consola de nuestro servidor de una forma relativamente sencilla.
Buscando información sobre este tema, dí con una página que contenía un archivo php el cual “emulaba” una consola (si usted es el creador del mismo, por favor, déjeme un comentario para atribuirle el desarrollo del mismo).
El contenido es (al final podrá descargarlo):
:->
El archivo es potencialmente peligroso, ya que nos permite, por ejemplo, eliminar, listar o copiar archivos fácilmente. Tiene un mínimo sistema de seguridad que se basa en filtrar el acceso mediante la ip del navegante. Así mismo y por falta de tiempo para establecer una mayor seguridad, lo inserté en una carpeta a la cual le establecí una protección mediante .htaccess
Tiene que eliminar la extensión del mismo ( .txt ), editarlo para cambiar la ip pública y establecer la suya (no la del servidor) y subirlo a su hosting.
Referencias:
http://es.php.net/manual/es
Todas las entradas
También se puede utilizar los `.
Por ejemplo:
$proceso = `ls -all ./`, y el retorno queda guardado en la variable.