我是一个CodeIgniter用户,我正在看一看Kohana。我注意到的第一件事是,在文档中,每个代码片段都以:
<?php defined('SYSPATH') or die('No direct script access.');假设我将使用.htaccess进行地址重写,这真的有必要吗?出于避免直接访问的目的,它是.htaccess的替代品吗?这只是一种“纵深防御”的好做法吗?
发布于 2010-02-14 01:54:25
如果您使用.htaccess文件来保护系统文件,则不需要执行此操作。然而,由于kohana必须支持非.htaccess使用,我们将其放在核心系统文件中,以获得一些基本的安全性。
发布于 2010-02-14 01:51:39
它用于确保您只能通过index.php (定义SYSPATH的地方)访问脚本。
如果您的脚本文件位于可通过web访问的位置,则这是另一层安全措施。此检查将阻止人们执行像http://example.com/application/classes/controllers/welcome.php这样的类
实际上,文件应该在webroot之外,index.php引用了正确的位置,但这并不是一直都可能的,所以他们会进行检查。
我猜如果你有.htaccess保护那些目录,你可以省去它,但是它不需要任何成本,所以你最好还是保留它。
https://stackoverflow.com/questions/2258415
复制相似问题