PHP avanzado: Herramientas profesionales

Las funciones eval, exec y el operador de ejecución

¡Prueba gratis durante 10 días

nuestros 1201 cursos !

Prueba gratis Mostrar modalidades de suscripción
Una herramienta que puede ser útil para los desarrolladores web son las funciones eval y exec (para ejecutar código PHP) y el llamado operador de ejecución (para ejecutar comandos del sistema operativo). Veamos algunos ejemplos y cómo debemos tener cuidado con estas herramientas.
03:20

Transcripción

PHP cuenta con una serie de funciones para poder ejecutar código dentro de una cadena de texto. Sin embargo, cada una de ellas se ejecuta en diferentes ámbitos. La primera, 'eval', funciona de la misma manera que en otros lenguajes de programación. Ejecuta la cadena como si fuera código de PHP. Veamos el ejemplo y cambiemos 'var_dump'. Nos vamos a la línea 24 y vamos a cambiar 'var_dump' por etiqueta de PHP. Y dentro de nuestras etiquetas, vamos a decir 'echo eval', y dentro de 'eval' podemos ingresar código PHP. Vamos a decir entonces que 'var_dump', y la expresión. En este caso la expresión va a ser nuestras variables de servidor, con 'server'. Vamos entonces a iniciar nuestro servidor con 'php -S localhost 8080' y vamos a refrescarlo en el navegador y listo. Con esto, observamos que la cadena que le pasamos como argumento, lo toma directamente como código de PHP. Vamos ahora a la función 'exec'. La función 'exec' funciona de manera similar. Sin embargo, en lugar de ejecutar el comando directamente, se lo envía al sistema operativo para que él sea el que los ejecuta. Veamos un listado con el comando de Linux 'ls -alh', el cual nos muestra un listado de archivos del directorio actual, junto con el tamaño de los archivos. Vamos a cambiar, en lugar de 'exec', vamos a cambiar en la línea 29 vamos a colocar etiquetas de PHP y vamos a decir que 'echo exec', y dentro de 'exec', una cadena 'ls -alh'. Vamos entonces a refrescar en el navegador y listo. Nos está haciendo lo que el comando 'ls' –o en sistemas Windows un DIR– y lo que hace es: ejecuta el comando directamente en el sistema operativo. Por último, está el operador de ejecución que funciona de la misma manera que 'exec'. Vamos entonces a cambiar 'touch' de la misma forma, y vamos a decir que 'echo', y el operador de ejecución, que es el acento invertido, punto y coma, y dentro de estos acentos invertidos vamos a decir 'touch test.php'. Vamos entonces a refrescar en el navegador y observamos que tenemos un nuevo archivo llamado 'test.php'. Con un gran poder, viene una gran responsabilidad. Si bien 'eval' y 'exec' y el operador de ejecución son de gran utilidad, también pueden ser muy peligrosos. Debemos tener mucho cuidado al utilizarlos, tratando a toda costa evitar que los comandos provengan de una fuente no confiable o que sean comandos que no deberían estar ejecutándose. Sin embargo, pueden ayudarnos mucho sobre todo cuando necesitamos mandar a llamar un programa externo.

PHP avanzado: Herramientas profesionales

Aprende que PHP va mucho más allá que manejo de formularios y páginas web y puedes usar herramientas que hacen que PHP se convierta en una gran opción para aplicaciones robustas.

1:37 horas (24 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.