Кохана: Нужно ли проверять, определен ли SYSPATH? - PullRequest
5 голосов
/ 13 февраля 2010

Я пользователь CodeIgniter и смотрю на Kohana. Первое, что я заметил, это то, что в документации каждый фрагмент начинается с:

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

при условии, что я буду использовать .htaccess для перезаписи адреса, это действительно необходимо? Является ли это альтернативой .htaccess для того, чтобы избежать прямого доступа? Это просто хорошая практика для "глубокоэшелонированной защиты"?

Ответы [ 2 ]

10 голосов
/ 13 февраля 2010

Если вы используете файл .htaccess для защиты системных файлов, это не требуется. Однако, поскольку kohana должен поддерживать использование не .htaccess, мы помещаем его в системные файлы ядра для обеспечения некоторой базовой безопасности.

5 голосов
/ 13 февраля 2010

Используется, чтобы убедиться, что вы можете получить доступ к сценариям только через index.php (где определен SYSPATH).

Это еще один уровень безопасности, если ваши файлы сценариев находятся в веб-доступном месте. Эта проверка не позволит людям выполнять такие классы, как http://example.com/application/classes/controllers/welcome.php

На самом деле файлы должны находиться вне webroot с index.php, ссылающимся на правильные местоположения, но это не всегда возможно, поэтому у них есть эта проверка.

Полагаю, вы могли бы оставить это без внимания, если у вас есть .htaccess для защиты этих каталогов, но это ничего не стоит, так что вы можете просто сохранить его.

...