Каталоги в контроллере codeigniter - PullRequest
0 голосов
/ 21 ноября 2011

В моем контроллере codeigniter есть две директории.

/ controllers / admin /

  • dashboard.php
  • content.php
  • enquiries.php

/ controllers / members /

  • profile.php
  • chat.php
  • settings.php

Поскольку папки каталогов сами по себе не являются контроллерами, я не могу выполнять никаких функций, если пользователь переходит к корню каталога.

Пример, если пользователь переходит к

 /localhost/admin/

представление не будет загружено и не будет отображать 404. Это позволяет пользователям знать, что каталог существует, что создает угрозу безопасности, потому что люди будут знать, что у меня есть каталог администратора.

Каквозможно ли показать сообщение 404, если пользователь просматривает корень папки каталога ???

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Вы можете добавить это в config / rout.php:

$route['admin'] = 'errors/page_missing';</p> <p>$route['members'] = 'errors/page_missing';

... где Errors - это контроллер с методом page_missing, где вы загружаете файл, а ненайден 'просмотр.

1 голос
/ 21 ноября 2011

Я создаю контроллер по умолчанию welcome.php в каталогах, которые я не хочу скрыть и добавить функцию show_404 ().Например:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function index()
    {
        show_404();
    }
}

Таким образом, вам не нужно возиться с маршрутами или переписывать правила.Просто и чисто.

...