2010-02-13 4 views
5

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

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

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

+0

CodeIgniter делает это тоже: if (! Defined ('BASEPATH')) exit ('Нет прямого доступа к скрипту разрешено'); – shadowhand

ответ

10

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

+2

+1 Приятно, что разработчик Kohana Framework сам обратился к этому. – Sampson

5

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

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

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

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

+0

Я знаю, что он делает –

+1

Я расширил ответ для вас. –

+0

Спасибо (15 символов) –

Смежные вопросы