Ver Mensaje Individual
  #41 (permalink)  
Antiguo 15/04/2013, 11:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: seguridad web

Despues de comentar un poquito sobre las vulnerabilidades llego la hora de la practica donde intentare ir explicando por capitulos cada una de ellas y por supuesto espero que con vuestra colaboracion

CAPITULO 1

Proteger directorios

- Seguramente en tu aplicacion tendras directorios donde no deseas que se pueda acceder a ellos directamente desde la url , para conseguir denegar el acceso voy a explicar 2 formas diferentes pero que pueden trabajar juntas .

1 - Crear un archivo .htaccess dentro del directorio en cuestion si el directorio se llama system por ejemplo el archivo debera encontrarse dentro de system/.htaccess , si tenemos mas directorios dentro de system igualmente deberemos crear el archivo .htaccess para garantizar que no se pueda acceder a ellos .

contenido .htaccess

Código Apache:
Ver original
  1. # en primer lugar prevenimos el listado de las carpetas
  2. IndexIgnore *
  3.  
  4. # en segundo no mostramos ningun listado , no indexa nada
  5. Options All -Indexes
  6.  
  7. # en tercera denegamos cualquier acceso a cualquier archivo
  8. Deny from all

tambien se debera agregar un index.html vacio dentro de todos los directorios ademas del .htaccess, seguridad extra para evitar el listado de los directorios y archivos

2- con php se crea una verificacion en los archivos donde no se desee que se pueda acceder desde la url

una verificacion , verificando si existe la constante en los archivos a proteger, la cual la debe de contener el archivo desde el que es llamado

protegido.php

Código PHP:
Ver original
  1. <?php
  2. if( ! defined('constante_de_seguridad'))
  3. {
  4. exit('acceso denegado');
  5. }
  6. ?>

ahora imaginemos que tenemos un index.php desde el cual queremos incluir un archivo protegido

index.php

Código PHP:
Ver original
  1. <?php
  2. define('constante_de_seguridad',true); // ya esta creada la constante y ya podemos acceder al fichero
  3.  
  4. include'protegido.php'; // si no estuviera definida la constante anterior se mostraria un mensaje de acceso denegado
  5.  
  6. ?>

Recuerda siempre los nombres de tus archivos y carpetas delicados no sean muy comunes y esten en lugares no muy previsibles.

observaciones : tambien se puede usar como otra medida un sistema de permisos para los usuarios, pero eso lo contare en un proximo capitulo sobre permisos y roles.

y esto es todo sobre el capitulo 1 , si sabes mas maneras de proteger archivos y/o directorios o de mejorar alguna ya expuesta o solo mostrar tu opinion ,por favor exponlo .

saludos y de aqui a nada seguimos con el capitulo 2

Última edición por webankenovi; 15/04/2013 a las 14:52