我正在研究新的维护模式功能。我希望能够看到所有其他页面,而其他人都将看到维护页面。有没有办法可以添加我的IP,以便只有我的IP可以访问所有文件?
我希望能够以某种方式将我的IP 放入此挂钩文件中。
我已经设置了钩子等。
在我的app / hooks文件中:
public function __construct() {
log_message('debug','Accessing site_offline hook!');
}
public function is_offline() {
if(file_exists(APPPATH.'config/config.php')) {
include(APPPATH.'config/config.php');
if(isset($config['is_offline']) && $config['is_offline']===TRUE) {
$this->show_site_offline();
exit;
}
}
}
private function show_site_offline() {
$this->load->view('common/header');
$this->load->view('common/maintenance');
$this->load->view('common/footer');
}
}
答案 0 :(得分:0)
如果维护模式处于活动状态,则可以执行以下检查,以确定用户是否尝试从允许的IP地址查看该站点。
$allowed_ip = '192.168.1.1'; // Whatever your IP address is
if ($_SERVER['REMOTE_ADDR'] == $allowed_ip)
{
// Load the site
}
else
{
// Load the maintenance page
}
可以欺骗IP地址,但实际上这很难;这是fairly safe方法。另一种方法是验证自己,设置会话,如果此会话存在,则加载适当的视图。
可能值得查看CodeIgniter的Config Class文档,最佳做法是加载这样的配置项:
$this->config->item('is_offline');
而不是:
$config['is_offline']