Archivo del Autor: karkayu

Recorrer un objeto JSON en Javascript

Supongamos que tenemos un objeto JSON sencillo  como este:

var args = ['jaime', 'amparo@amparo.es', 'hola a todos'];

La manera más simple de recorrer ese objeto es usando un for:

for(var json in args){
    console.log(args[json]);
}

Si el objeto JSON tuviese valores asociativos:

var args = {
   "nombre": "jaime",
   "email": "amparo@amparo.es",
   "mensaje": "hola a todos"
}

Usaríamos el mismo for para recorrerlo y mostrar tanto sus claves como sus valores:

for(var json in args){
    console.log(json+': '+args[json]);
}

Bloquear listado de directorios

Cuando hacemos un proyecto web, lo normal es ser ordenado y tener varias carpetas. Carpeta para las hojas de estilo, carpeta para los archivos JavaSript, para las imagenes…

No se si os habéis parado a pensar alguna vez en esto pero, cuando subimos todas esas carpetas a nuestro host… nada impide que un visitante ponga la ruta de dichas carpetas en la URL y visualice el listado de todos los archivos y directorios que se encuentran dentro. Probadlo con algún proyecto vuestro que tengáis subido.

¿Cómo evitamos eso?

Los más rápidos habrán pensado: “Fácil, coloco un archivo index.html en cada carpeta  y así evito que se visualice nada”.

Pues es perfectamente correcta esta respuesta :) Ya sabemos  que, si dentro de una carpeta existe un archivo llamado index.html (si es .php os recuerdo que también vale), en la mayoría de los casos el navegador mostrará ese archivo (a no ser que se haya cambiado deliberadamente la configuración del servidor, que repito, no es lo normal).

Sin embargo, no me negaréis que esta solución es poco elegante. Por ejemplo: ¿Qué pinta un archivo .html (o .php) en el directorio de las imágenes?

Aquí os muestro una solución más elegante y correcta que la anterior:
Lo que tenemos que hacer es crear un archivo llamado .htaccess (Alguno de vosotr@s ya sabéis para que sirve este archivo. Para el resto, os basta con saber que es un archivo usado para configurar el comportamiento del servidor apache).

Dentro de ese archivo, tan solo debemos poner esta línea: Options All -Indexes

Una vez escrito eso, grabamos los cambios y guardamos el archivo en el directorio que queremos bloquear. De esta forma, cada vez que alguien intente acceder a dicho directorio le saldrá algo como esto:

Mensaje de bloqueo de un directorio

Mensaje de ejemplo de bloqueo de directorios