關於Session驗證登陸狀態的一個疑問?

來源:互聯網
上載者:User
關鍵字 php session
寫程式也有那麼幾年頭了,架構用的久,原生Session這塊幾乎沒做過什麼研究,現在突然想起來,還真有個小疑問:
我一般驗證是否登陸類似這樣寫:

驗證:

if(!checkV($_GET['username']) || !checkV($_GET['password'])){    return false;}if($username == $_GET['username'] && $password == $_GET['password']){    $_SESSION['islogin'] = 1;}

狀態驗證:

function checkLogin(){    if(empty($_SESSION['islogin']))    {        return false;    }    return true;}

我總感覺這麼寫是不是太簡單了? 安全方面自己心裡沒點低,但是這個方法用了挺久也沒出過啥問題,望批評指教!

回複內容:

寫程式也有那麼幾年頭了,架構用的久,原生Session這塊幾乎沒做過什麼研究,現在突然想起來,還真有個小疑問:
我一般驗證是否登陸類似這樣寫:

驗證:

if(!checkV($_GET['username']) || !checkV($_GET['password'])){    return false;}if($username == $_GET['username'] && $password == $_GET['password']){    $_SESSION['islogin'] = 1;}

狀態驗證:

function checkLogin(){    if(empty($_SESSION['islogin']))    {        return false;    }    return true;}

我總感覺這麼寫是不是太簡單了? 安全方面自己心裡沒點低,但是這個方法用了挺久也沒出過啥問題,望批評指教!

  • 寫法沒問題

  • 問題是別人偽造你的session_id,就可以操作該session_id對應的使用者,簡單解決辦法用HTTPS防止中間人

沒有問題。心放到肚子裡。
最簡單的模式就是這樣的。其它搞得再複雜還是這樣。

你的已經是最佳實務了。

驗證之後,存入session,思路沒有問題啊。把一些細節完善下就更好了

邏輯上沒問題,不過islogin這個沒什麼意義啊,不如在session裡面寫入uid或者username,到時候通過這個session值是否存在來判斷使用者是否登入,其它程式部分需要username的時候還能直接調用$_session['username']這個變數

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.