簡體   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