2014-02-27 46 views
0

我想用codeigniter製作更安全的登錄系統。我可以用這個例子做一個簡單的例子。如何使用codeigniter更安全地登錄系統?

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

但這裏的問題是,與例子,我可以從URL地址「check_database」方法的直接訪問。但我想阻止它。所以如果用戶試圖訪問該方法,他將被重定向到登錄頁面或歡迎頁面。請注意,我可能有超過10種方法。我不想一個接一個地配置它們。你有任何解決方案?

+1

所以你只是想要一個私人方法? http://ellislab.com/codeigniter/user-guide/general/controllers.html#private。其實我認爲「私人」關鍵字就夠了。 – Andrew

回答

0

使用私有功能。這些不會被訪問通過URL &將被隱藏公開訪問

1

只輸入法打開後:

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

因此,如果沒有什麼作爲POST請求,有人試圖直接訪問它URL。

如果可能有超過10種方法......

如果所有方法應該只接受POST請求,然後把它放在__construct(),是這樣的:

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

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

或者你可以製作一個自定義庫,它可以有一個CodeIgniter引用來使用數據庫,並在那裏進行所有登錄業務,只返回truefalse gged狀態。

+0

Thanx Fabiano :) – Someone