一般的“使用者密碼重設”演算法是如何的?

來源:互聯網
上載者:User
關鍵字 php mysql 安全 密碼
比如,當使用者Email收到 密碼重設的連結後,單擊連結可以開啟“ 重設密碼”的頁面,該頁面上一般只有兩個文字框:密碼框和密碼確認框,這個時候使用者提交的時候如何保證安全?主要是如何保證重設的 確實是Email連結裡指定的使用者的密碼(而不是別人的密碼)?

補充:
重設密碼錶單上除了上文提到的一個密碼框和一個密碼確認框外,我想一般還有一個User_id之類的隱藏框吧?貌似現代瀏覽器可以修改隱藏框的實際值,然後提交後就變成更改其他人的密碼了!

回複內容:

比如,當使用者Email收到密碼重設的連結後,單擊連結可以開啟“重設密碼”的頁面,該頁面上一般只有兩個文字框:密碼框和密碼確認框,這個時候使用者提交的時候如何保證安全?主要是如何保證重設的確實是Email連結裡指定的使用者的密碼(而不是別人的密碼)?

補充:
重設密碼錶單上除了上文提到的一個密碼框和一個密碼確認框外,我想一般還有一個User_id之類的隱藏框吧?貌似現代瀏覽器可以修改隱藏框的實際值,然後提交後就變成更改其他人的密碼了!

你仔細看下那個連結,是有一個隨機的token參數的,點開連結如果token不匹配提示錯誤頁面,匹配則是修改密碼頁面,而且token也是跟著密碼一起發給背景,後台還是要再檢驗一遍的。至於token肯定是存在後台資料庫中的,且越長越安全。如果簡單點可以採用uuid演算法作為產生token演算法。

連結是發往使用者郵箱的,也就是只有進入了郵箱才可能得到連結,有這一層安全驗證已經差不多能保證“開啟密碼重設連結的人”即是需要重設密碼的人了。再可以讓連結中的token有效期間短一些或只能校正一次,就可以把安全層級再提高很多了

補充樓上的答案。在token上有效期間上再加上只能用一次。更安全了。如果還要增加安全。可以限制url的來源是使用者對應的郵箱服務商。其實有有效期間和只能用一次就夠了。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.