禁止的 IP 在 CodeIgniter 中检查之前进行任何其他操作
Banned IPs check before anything else in CodeIgniter
我有一个 table 和 IP/DNS 被禁访客的数据。我希望在其他任何事情之前完成此检查,但在加载禁止 IP 的模型之后。
在每次访问页面时添加此代码并使其 运行 的最佳位置是什么,考虑到它应该加载一个视图以显示 403 错误以显示给被禁止的访问者?
全局加载禁止访问者模型(在autoload.php中指定)。现在,我只需要将验证访问者是否被禁止的功能设为全局即可。这可以使用钩子来完成吗?你有什么建议?
在 application/core 文件夹中创建一个名为 MY_Controller 的控制器。
控制器应该看起来像
class MY_Controller extends CI_Controller
{
public function __construct()
{
$this->bannedIpAdresses();
}
private function bannedIpAdresses()
{
$this->load->model("BannedIps_Model");
if ($this->BannedIps_Model->isIpBanned())
{
$this->load->view("restricted");
die();
}
}
}
和欢迎控制器等所有其他控制器应该看起来像
class Welcome extends MY_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('welcome_message');
}
}
我有一个 table 和 IP/DNS 被禁访客的数据。我希望在其他任何事情之前完成此检查,但在加载禁止 IP 的模型之后。
在每次访问页面时添加此代码并使其 运行 的最佳位置是什么,考虑到它应该加载一个视图以显示 403 错误以显示给被禁止的访问者?
全局加载禁止访问者模型(在autoload.php中指定)。现在,我只需要将验证访问者是否被禁止的功能设为全局即可。这可以使用钩子来完成吗?你有什么建议?
在 application/core 文件夹中创建一个名为 MY_Controller 的控制器。
控制器应该看起来像
class MY_Controller extends CI_Controller
{
public function __construct()
{
$this->bannedIpAdresses();
}
private function bannedIpAdresses()
{
$this->load->model("BannedIps_Model");
if ($this->BannedIps_Model->isIpBanned())
{
$this->load->view("restricted");
die();
}
}
}
和欢迎控制器等所有其他控制器应该看起来像
class Welcome extends MY_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('welcome_message');
}
}