2010-11-12 9 views
6

En la clase principal de Kohana, hay una constante FILE_SECURITY.¿Cuál es el punto de esta constante en Kohana?

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

Ahora, evidentemente, si colocar este en el inicio de sus archivos, y si se accede a ella fuera del entorno Kohana, se die().

Pero, ¿cuál es el propósito de esta constante? No podemos eval() porque tiene un <?php líder.

¿Kohana crea archivos PHP en alguna parte y los usa para anteponerlos al inicio del archivo?

+0

+1 de alguien que no usa Kohana pero está interesado en su developemnt/design –

+0

'eval' no importará, la constante' SYSPATH' todavía se encontrará indefinida y dará como resultado 'die' – Sarfraz

Respuesta

7

El Kohana_Log_File::write function utiliza la constante:

// Set the name of the log file 
$filename = $directory.date('d').EXT; 

if (! file_exists($filename)) 
{ 
    // Create the log file 
    file_put_contents($filename, Kohana::FILE_SECURITY.' ?>'.PHP_EOL); 

    // Allow anyone to write to log files 
    chmod($filename, 0666); 
} 

parece que está insertado en un registro para que deje de ser leído desde una dirección URL pública.

+0

Google la constante nombre, fui a los documentos de API y leí la función 'write'. –

+0

Sí, lo intenté. No sé por qué no pensé en eso en realidad, o busqué en GitHub. – alex

0

También puede usar esta constante mientras genera automáticamente sus archivos personalizados, como configuraciones (¿posible en aplicaciones de instalación?).