Codeigniter 定义基本路径或退出

Posted

技术标签:

【中文标题】Codeigniter 定义基本路径或退出【英文标题】:Codeigniter define basepath or exit 【发布时间】:2012-04-17 22:29:56 【问题描述】:

我注意到演示 codeigniter 项目的控制器上方的一小段代码,想知道它做了什么以及我是否应该使用它。

defined('BASEPATH') OR exit('No direct script access allowed');

如果我应该使用它应该在哪里使用它?控制器?楷模?两个都?等等。

【问题讨论】:

【参考方案1】:

为了激活 codeigniter 框架,该站点必须使用 www.blahblah.com/index.php/params 访问。通过首先通过 index.php,框架被激活,各种类和诸如此类的东西通过 PHP 运行。然后框架查看 url 的参数并激活特定的控制器。这行代码确保框架已正确“启动”并且用户只是不尝试在 Web 服务器上运行单个 php 文件。因为该 php 文件假定框架中的类已经被声明,所以单独运行一个控制器文件会严重失败,并且有可能导致安全漏洞。不允许直接访问。

【讨论】:

+1 非常准确。还应注意它使单元测试变得痛苦。 哦,好吧,这段代码也属于模型的顶部还是只是控制器?谢谢 如果您采用 CI 方式,它几乎属于 CI 安装中的每个脚本。不过请注意@AlienWebGuy 关于测试的评论...... 很好的答案,我自己从来没有真正理解过这一点,但现在我明白了。 那么,这会阻止控制器重新运行/重新声明吗?在安全方面,如果我们使用 Apache 并且在 application 文件夹中有一个.htaccess with only a "deny from all" line,它会阻止对所有控制器的访问......这不是比拥有这些行更实用吗在所有控制器/模型中?

以上是关于Codeigniter 定义基本路径或退出的主要内容,如果未能解决你的问题,请参考以下文章

我的世界提示游戏非正常退出,请查看日志文件,或寻求他人帮助exit code: -1073740940

xampp 上的 Codeigniter 基本路径问题

CodeIgniter 路径常量定义

我的世界提示游戏非正常退出,请查看日志文件,或寻求他人帮助exit code: -1073740940

Code Igniter 框架中的未定义方法

如何从 codeigniter 控制器访问站点 url 或基本 url?