PHP 網站註冊登入功能的原理是什嗎?

來源:互聯網
上載者:User
能介紹一下嗎?我想做一個網站。

回複內容:

  • 註冊
    • 狀態判斷:如果是已登入狀態(通過COOKIE驗證),該頁面跳轉至網站首頁;否則顯示該註冊頁面。
    • 表單填寫:前端頁面一個Form,主要包括郵箱、密碼、重複密碼、驗證碼等。
    • 前端判斷格式:通過JSRegex判斷郵箱是否符合郵箱格式、密碼是否符合一定長度和難度等。
    • 判斷是否登入:AJAX判斷該郵箱是否已被註冊,如果是,則提示登入;否則繼續。
    • 表單提交:POST表單。
    • 後台判斷格式:防止前端JS被修改或者直接POST資料,需要後台再次驗證資料格式。
    • 插入資料庫:在表單各資料正確無誤的情況下將新使用者的相關資訊插入資料庫(密碼需加密處理,不能明文顯示),並返回新使用者的使用者ID等相關資料。
    • 跳轉到登入狀態:通過使用者ID等資料給使用者添加COOKIE保持其登入狀態。
  • 登入
    • 狀態判斷:如果是已登入狀態,該頁面跳轉至網站首頁;否則顯示該登入頁面。
    • 表單填寫:前端一個Form,包括郵箱和密碼。
    • 前端判斷格式:判斷郵箱是否符合郵箱格式、密碼是否符合長度等。
    • 表單提交:POST表單。
    • 後台匹配:尋找是否存在該使用者;匹配該使用者密碼;返回是否匹配。
    • 頁面跳轉:匹配成功,則添加COOKIE保持登入狀態;否則提示相關錯誤,並跳回登入狀態。

評論@鐘雲龍 補充:
1. 郵箱驗證
對於大部分使用郵箱作為 id 登入的網站,一般會發送一個驗證 URL 來驗證你是否是該郵件的主人(其實非必須),基本原理很簡單,在使用者表裡加入2個欄位:一個隨機產生的驗證碼和一個驗證狀態。該驗證碼包含在郵箱發送的 URL 裡。

2. OAuth
OAuth 是目前使用第三方帳號註冊和登入的協議,目前最新版本為 OAuth 2.0。國內最常使用的三方帳號是微博和QQ等、國外是 Google, Facebook 等。在使用它們之前,需要向提供該帳號的提出申請,獲得 appkey 和 appsecret,設定 redirect uri ,有時還需要下載相關的 SDK 等,進行一系列配置方可使用。http://blog.xuite.net/gotrans/life/13801477-PHP+-+PHP+session+%E4%BD%BF%E7%94%A8%E5%85%A5%E9%96%80
[PHP] 使用Sessions 及Cookie 保持登入(記得我)狀態功能
會員登入的處理, PHP MySQL
https://books.google.com.hk/books?id=_afwBQAAQBAJ&pg=SA9-PA38&lpg=SA9-PA38&dq=php+%E7%99%BB%E5%85%A5+%E5%AE%89%E5%85%A8&source=bl&ots=tGhLUhmSnS&sig=G_ZNFGmMGjTD9MqAhJaaF1VnaQ8&hl=zh-TW&sa=X&ei=aIojVdWdDsPYmgXj2YCABQ&ved=0CEoQ6AEwBzgK#v=onepage&q=php%20%E7%99%BB%E5%85%A5%20%E5%AE%89%E5%85%A8&f=false
http://codepen.io/
http://denghao.me/
http://www.w3schools.com/
  • 相關文章

    聯繫我們

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