php - Kohana 中这个常数的意义何在?

标签 php kohana

在Kohana的核心类中,有一个常量 FILE_SECURITY .

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

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

但是这个常量的目的是什么?我们不能eval()因为它有一个领先的 <?php .

Kohana 是否在某处创建 PHP 文件并使用它来将其添加到文件的开头?

最佳答案

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

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

关于php - Kohana 中这个常数的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160727/

相关文章:

php - 独立的 getter/setter 方法,还是组合?

php - 如果通过比较字符串发现中间的子字符串被删除,如何突出显示下一个和上一个子字符串?

PHP 修剪和带有 LIKE 和排序的 SQL 查询

php - 将 html 表中的内容存储到 mysql 数据库中

PHP:我可以与我的数据库表结构一起使用的 ORM 框架或库

database - Kohana 3.2 将 session 保存在数据库中

php - Android - 谷歌云消息传递的高优先级消息(使用 corona sdk)

php - Paypal IPN 通知在沙盒帐户中不起作用

configuration - Kohana 配置文件在哪里?

php - 如何存储/关联每个模型的用户特定数据(状态?)