Curso de PHP. Volumen XXII : Archivos remotos y autentificación básica

Escrito por Jalths
Manuales
4

Como todas las semanas, aquí os traemos un nuevo volumen de nuestro particular Curso de PHP Online, así que vamos a por ello.

Hoy nos toca abordar dos temas , ya que el primero, es bastante corto y simple de explicar, y el volumen se quedaría un poco pequeño, el segundo tiene un poco mas de miga, y aunque no lo toquemos muy profundamente servirá para hacernos una idea y que podáis seguir indagando vosotros mismos si lo deseáis.

Antes de empezar, recordaros a todos que tenéis en este enlace el índice del curso, por si alguno quiere encontrar un volumen pasado, o por si alguien acaba de empezar a seguir el curso y quiere ponerse al día.

Una vez dicho esto vamos con lo que nos ocupa, vamos a empezar por tratamiento de archivos remotos.


Archivos remotos

PHP nos da la oportunidad (siempre que este configurado para ello, y en nuestra versión por defecto lo está, ya que lleva desactivada la opción –disable-url-fopen-wrapper y el allow_url_fopen en ON) de abrir URLs HTML y FTP como si fuesen ficheros, es decir operando con ellas con las funciones que hasta ahora habíamos visto para ficheros.

Vamos a ver como leer una URL y mostrarla entera, por ejemplo www.redeszone.net :

Código 1

Nota: Como veis el flag de modo de apertura es R, read.

En el caso de FTP, habría que identificarse con un usuario y contraseña y abrir la URL del FTP con el flag W, luego escribir el archivo, siempre que este no exista ya. Ya que no se nos da la posibilidad de modificar/sobrescribir solo de crear un fichero.

Ejemplo de url valida(según el manual oficial de PHP):
ftp://user:password@ftp.example.com/path/to/file

Autentificación en PHP

Con PHP también podemos realizar autentificaciones para ciertas partes de nuestro sitio web (esta parte esta orientada a programación web con PHP).

Como hemos dicho mas arriba, este tema lo vamos a tocar un poco por encima para que podáis profundizar si lo deseáis por vuestra cuenta, y si lo hacéis no tengáis ningún problema partiendo de esta base.

En este apartado vamos a ver la autentificación HTTP Basic (podéis encontrar mucha información en internet sobre ella, pero básicamente se trata de un servicio de autentificación basado en nombre y contraseña).

Nosotros para este ejemplo/explicación vamos a meter las credenciales en una cadena de texto, aunque realmente suelen estar en archivos externos,archivos de apache (si se hace vía Apache) o en bases de datos. Lo hacemos así porque no vamos a hablar de como implementar la autentificación vía Apache, y porque si residieran en archivos externos, sabemos como leerlos. En cuanto a bases de datos no hemos visto nada…aún.

Vamos con ello:

Código 2

Nota: Como siempre que hablamos algo de seguridad, recordaos que como esto es un ejemplo, tiene bastantes deficiencias y sería necesario mejorarlo. De hecho no es muy recomendable hacer implementaciones de autentificación de esta manera.

Volveremos el miércoles que viene con nuevos contenidos de PHP, esperadnos!