CodeIgniter BASEPATH

1

Привет, я новичок в Codeigniter. Из моего понимания BASEPATH, он используется для активации платформы Codeigniter. Код

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

используется в верхней части страницы, чтобы предотвратить прямой доступ к контроллеру. Но это не работает в моем коде. Когда я пытаюсь получить прямой доступ к представлению через контроллер, оно загружается. Я проверил index.php и BASEPATH определен BASEPATH. Пожалуйста посоветуй.

  • 1
    Можете ли вы показать нам код PHP, который не работает?
  • 2
    When I try to directly access a view via controller , как вы напрямую получили доступ к контроллеру?
Показать ещё 1 комментарий
Теги:
codeigniter

3 ответа

7
defined('BASEPATH') OR exit('No direct script access allowed');
  • defined: проверяет, существует ли данная именованная константа
  • BASEPATH: он BASEPATH из зарезервированных имен codeigniter
  • OR exit выводит строку: 'No direct script access allowed'
  • exit - вывести сообщение и завершить текущий скрипт.

Другие ссылки: PHP 5 Constants

7

defined('BASEPATH') OR exit('No direct script access allowed'); используется, чтобы убедиться, что запрос прошел через index.php в корневом каталоге. Это делается по таким причинам, как проверка загрузки всех базовых классов Codeigniter, установка определенных переменных и т.д.

Так что, да, вы сможете получить доступ к файлу вида, если вы проходите через контроллер.

Надеюсь это поможет!

  • 0
    Так что это не используется в целях безопасности. Если я добавлю URL для просмотра в браузере без входа в систему, то представление будет показано.
  • 0
    Когда вы говорите URL для представления, вы имеете в виду что-то вроде: localhost/application/views/view_file.php ? Если это так, то нет, вы не должны быть в состоянии из-за файла .htaccess в папке приложения.
Показать ещё 5 комментариев
0

Используйте этот код перед началом класса, например:

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

class Dataentry extends CI_Controller { }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню