2011-11-21 63 views
0

我的代码控制器中有两个目录。代码控制器中的目录

/控制器/管理/

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

/控制器/构件/

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

由于目录的文件夹本身不是控制器,如果用户浏览到该目录的根目录我不能执行任何功能。

例如,如果用户浏览到

/localhost/admin/ 

视图不会被加载,并不会显示404这可以让用户知道该目录是存在的,给我一个安全风险,因为人们会知道我有一个管理员目录。

如果用户浏览到目录文件夹的根目录,如何显示404消息?

回答

1

你可以在配置/ routes.php文件添加此:

$route['admin'] = 'errors/page_missing';

$route['members'] = 'errors/page_missing';

...这里的错误是page_missing的方法,在这里装载了“找不到文件”视图控制器。

1

我这样做的方式是创建默认控制器welcome.php的目录我想隐藏并添加show_404()函数。像这样:

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

class Welcome extends CI_Controller { 

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

这样,您不必拨弄路由或重写规则。简单而干净。