2010-02-13 10 views
5

Soy un usuario de CodeIgniter y echo un vistazo a Kohana. Lo primero que noté es que en la documentación de cada fragmento comienza con:Kohana: ¿Es necesario verificar si se define SYSPATH?

<?php defined('SYSPATH') or die('No direct script access.'); 

suponiendo que va a utilizar .htaccess dirección de reescritura, es realmente necesario? ¿Es una alternativa al acceso para el propósito de evitar el acceso directo? ¿Es solo una buena práctica para "defensa en profundidad"?

+0

CodeIgniter lo hace también: if (! Defined ('BASEPATH')) exit ('No se permite el acceso directo a las secuencias de comandos'); – shadowhand

Respuesta

10

Si está utilizando un archivo .htaccess para proteger los archivos de su sistema, esto no es necesario. Sin embargo, dado que kohana tiene que admitir el uso de no .htaccess, lo colocamos en los archivos del sistema central para cierta seguridad básica.

+2

+1 Es bueno que el desarrollador de Kohana Framework se ocupe de esto. – Sampson

5

Se utiliza para asegurarse de que solo se puede acceder a los scripts a través de index.php (donde se define SYSPATH).

Es otra capa de seguridad si los archivos de script se encuentran en una ubicación accesible desde la web. Esta comprobación evitará que las personas ejecuten clases como http://example.com/application/classes/controllers/welcome.php

En realidad, los archivos deben estar fuera de la raíz web con el index.php haciendo referencia a las ubicaciones correctas, pero eso no es posible todo el tiempo, por lo que tienen esa verificación.

supongo que se podría salirse con dejarlo si tiene .htaccess protección de esos directorios, pero no cuesta nada tener lo que es posible que también acaba de mantenerla.

+0

Sé lo que significa –

+1

Expandí la respuesta para usted. –

+0

Gracias (15 caracteres) –

Cuestiones relacionadas