繁体   English   中英

如何使用Codeigniter制作更安全的登录系统?

[英]How to make more secure login system with codeigniter?

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

http://www.codefactorycr.com/login-with-codeigniter-php.html

但是这里的问题是,通过示例,我可以从URL地址直接访问“ check_database”方法。 但我想防止这种情况。 因此,如果用户尝试访问该方法,则将其重定向到登录页面或欢迎页面。 请注意,我可能有10种以上的方法。 我不想一个接一个地配置它们。 你有什么解决办法吗?

使用私有功能将不起作用。

如果您阅读了手册,您会看到您需要在函数名称之前用_编写函数。

因此, function check_database()变为function _check_database()

在这里阅读http://ellislab.com/codeigniter/user-guide/general/controllers.html#private

在方法打开之后立即添加:

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

因此,如果没有任何POST请求,则有人试图直接从URL访问它。

如果可能有十种以上的方法...

如果所有方法都应该只接收POST请求,则将其放在__construct()上,如下所示:

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

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

或者,您可以创建一个自定义库 ,该可以具有CodeIgniter引用以使用数据库,然后进行所有登录业务,并在登录状态下返回truefalse

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM