Php 如何使用codeigniter创建更安全的登录系统?

Php 如何使用codeigniter创建更安全的登录系统?,php,codeigniter,Php,Codeigniter,我想用codeigniter建立更安全的登录系统。我可以用这个例子做一个简单的例子 但这里的问题是,在这个示例中,我可以从url地址直接访问“check_database”方法。但我想阻止它。所以,如果用户试图访问该方法,他将被重定向到登录或欢迎页面。请注意,我可能有10多种方法。我不想一个接一个地配置它们。你有什么解决办法吗 使用私有功能。这些将无法通过URL访问&将对公共访问进行隐藏使用私有功能。这些将无法通过URL访问&将对公共访问进行隐藏使用私有功能。这些将无法通过URL访问&将对公共

我想用codeigniter建立更安全的登录系统。我可以用这个例子做一个简单的例子


但这里的问题是,在这个示例中,我可以从url地址直接访问“check_database”方法。但我想阻止它。所以,如果用户试图访问该方法,他将被重定向到登录或欢迎页面。请注意,我可能有10多种方法。我不想一个接一个地配置它们。你有什么解决办法吗

使用私有功能。这些将无法通过URL访问&将对公共访问进行隐藏

使用私有功能。这些将无法通过URL访问&将对公共访问进行隐藏

使用私有功能。这些将无法通过URL访问&将对公共访问进行隐藏

使用私有功能。这些将无法通过URL访问&将被隐藏,无法通过公共访问

使用专用功能将无法工作

如果您阅读了手册,您会发现您需要在函数名前加上一个u

所以
函数检查\u数据库()
变成
函数检查\u数据库()

读这里
使用私有函数将不起作用

如果您阅读了手册,您会发现您需要在函数名前加上一个u

所以
函数检查\u数据库()
变成
函数检查\u数据库()

读这里
使用私有函数将不起作用

如果您阅读了手册,您会发现您需要在函数名前加上一个u

所以
函数检查\u数据库()
变成
函数检查\u数据库()

读这里
使用私有函数将不起作用

如果您阅读了手册,您会发现您需要在函数名前加上一个u

所以
函数检查\u数据库()
变成
函数检查\u数据库()

读这里

在方法打开后包括:

if (!$this->input->post())
  redirect('somewherelse!');
所以,若并没有POST请求,那个么就有人试图直接从URL访问它

如果可能有超过10种方法

如果所有方法都应该只接收POST请求,则将其置于_construct(),类似于:

function __construct(){
  parent::__construct();

  if (!$this->input->post())
    redirect('somewherelse!');   
}

或者,您可以创建一个自定义库,该库可以有一个CodeIgniter引用来使用数据库,并在其中创建所有登录业务,在登录状态下仅返回
true
false

在方法打开后包括:

if (!$this->input->post())
  redirect('somewherelse!');
所以,若并没有POST请求,那个么就有人试图直接从URL访问它

如果可能有超过10种方法

如果所有方法都应该只接收POST请求,则将其置于_construct(),类似于:

function __construct(){
  parent::__construct();

  if (!$this->input->post())
    redirect('somewherelse!');   
}

或者,您可以创建一个自定义库,该库可以有一个CodeIgniter引用来使用数据库,并在其中创建所有登录业务,在登录状态下仅返回
true
false

在方法打开后包括:

if (!$this->input->post())
  redirect('somewherelse!');
所以,若并没有POST请求,那个么就有人试图直接从URL访问它

如果可能有超过10种方法

如果所有方法都应该只接收POST请求,则将其置于_construct(),类似于:

function __construct(){
  parent::__construct();

  if (!$this->input->post())
    redirect('somewherelse!');   
}

或者,您可以创建一个自定义库,该库可以有一个CodeIgniter引用来使用数据库,并在其中创建所有登录业务,在登录状态下仅返回
true
false

在方法打开后包括:

if (!$this->input->post())
  redirect('somewherelse!');
所以,若并没有POST请求,那个么就有人试图直接从URL访问它

如果可能有超过10种方法

如果所有方法都应该只接收POST请求,则将其置于_construct(),类似于:

function __construct(){
  parent::__construct();

  if (!$this->input->post())
    redirect('somewherelse!');   
}

或者,您可以创建一个自定义库,其中可以有一个CodeIgniter引用来使用数据库,并在其中创建所有登录业务,在登录状态下仅返回
true
false

所以您只需要一个私有方法。实际上,我认为“private”关键字就足够了。所以你只需要一个private方法。实际上,我认为“private”关键字就足够了。所以你只需要一个private方法。实际上,我认为“private”关键字就足够了。所以你只需要一个private方法。实际上,我认为“private”关键字就足够了。