[英]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引用以使用數據庫,然后進行所有登錄業務,並在登錄狀態下返回true
或false
。
使用私有功能。 這些將無法通過URL訪問,並且將被公共訪問隱藏
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.