代码之家  ›  专栏  ›  技术社区  ›  alex

科哈纳常数的意义是什么?

  •  6
  • alex  · 技术社区  · 14 年前

    在Kohana的核心课程中,有一个常量 FILE_SECURITY

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

    现在很明显,如果您将它放在文件的开头,并且如果在Kohana环境之外访问它,它将 die()

    但是这个常数的目的是什么呢?我们不能 eval() 因为它有领导作用 <?php .

    Kohana是否在某个地方创建了PHP文件,并使用它将其预处理到文件的开头?

    2 回复  |  直到 14 年前
        1
  •  7
  •   Brian McKenna    14 年前

    这个 Kohana_Log_File::write function 使用常量:

    // 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);
    }
    

    看起来它被插入到日志中,以阻止从公共URL读取。

        2
  •  0
  •   biakaveron    14 年前

    此外,您还可以在自动生成自定义文件时使用此常量,如configs(是否在安装应用程序中可用?)。

    推荐文章