1. 程式人生 > >網站的下次自動登入功能的實現方法

網站的下次自動登入功能的實現方法

我告訴你開源php框架的symfony中的一個很有名的擴充套件sfGuard是怎麼做的,可能可以給你提供一些思路:
首先你的資料庫需要一個rememberkey表:它包含了一下三個欄位:
user_id, remember_key(string(32),unique), ip_address, 當然還有兩個時間欄位created_at和updated_at那幾乎是必須有的就不提了。

如果使用者在登入的時候勾選了remember me
那麼用md5一個隨機值,比如timestamp + rand(0, 9999999)產生一個remember_key。因為隨機的變化還是很大的,所以remember_key幾乎不可能會出重複的key。
然後把此key在客戶端cookie和資料庫各存放一份,cookie的存放時間就是你記住密碼設定的時間長度,另外ip要記在資料庫裡面。

如果使用者點選退出,那麼在刪除session的同時,也把cookie裡的remember_key以及資料庫對應的key那條記錄刪除,當然為了防止垃圾資料越來越多,此時也可以順便把所有過了失效的key全部刪除

如果使用者下次訪問頁面但是session已經失效,那麼檢測是否有remember_key這個cookie,如果有的話,拿這個值以及訪問的ip去資料庫裡找記錄,如果找到了,那麼這條記錄的user_id對應的user就自動登入了。

當然你可以做一些修改,比如ip不見得是必須的,因為國內的使用者ip會老變嘛。

相關推薦

網站下次自動登入功能實現方法

我告訴你開源php框架的symfony中的一個很有名的擴充套件sfGuard是怎麼做的,可能可以給你提供一些思路: 首先你的資料庫需要一個rememberkey表:它包含了一下三個欄位: user_id, remember_key(string(32),unique)

網站記住賬號和自動登入功能實現

剛開始做這個功能的時候一頭霧水,本來打算直接用cookie實現,但發現在控制檯用document.cookie,就會完全暴露出使用者名稱和密碼,於是在網上找了各種辦法,但沒有找到一個很好的解決方案,最後想到在服務端設定cookie,並且經過加密來實現。因為公司後端是php,所

自動登入功能的編碼實現?

登入功能是用 Session 實現的,就是向 Session 物件中儲存當前使用者的物件 自動的功能用 Cookie 實現, 就是登陸時將使用者的資訊儲存為持久化 Cookie 下次訪問時, 讀取請求中如果有使用者資訊的 Cookie 就可以自動登陸 下次訪問時, 讀取請

mvc框架下,怎樣用cookie實現下次自動登入

登入時有個下次自動登入的checkBox。點了它下次就可以自動登入了 具體流程我都曉得,就是細節的地方有些搞不定。我只要解決3個問題: (1)登入時如果點了checkbox,則在本機產生一個cookie,用來儲存使用者名稱和密碼; (2)點選安全退出時,將cookie刪

PHP自動登入實現和Cookie的安全性(UCHome的實現方法

網站自動登入,即“記住我”、一週內免登入等,一般都是利用 cookie 來實現的。cookie 儲存了使用者名稱和密碼等資訊,再次訪問時,將 cookie 資料查詢資料庫對比。 使用者名稱可以直接儲存到 cookie裡,而密碼必須經過加密處理,並保證加密演算法難以破解、且能

php中實現記住密碼下次自動登入的例子

做網站的時候經常會碰到要實現記住密碼,下次自動登入,一週內免登陸,一個月內免登陸這種需求。這種功能一般都是通過cookie來實現的。本篇文章將簡單說一下如何使用php實現該需求的。當然實現該需求的方法有N多種。 整個過程就是使用者在登陸的時候,如果選擇了記住密碼或者一週內免

利用過濾器(Filter)實現自動登入功能

        思路:登入成功儲存登入時Cookie以及Session,下次開啟網站通過過濾器攔截檢視Session是否存在使用者(考慮使用者沒有關閉瀏覽器的情況),如果Session中有使用者資料,放行,從Cookie中查詢使用者資料如果沒有資料,放行。         具

網站自動登入功能(安全-程式碼簡潔)的設計

參考:http://blog.csdn.net/ivon2008/article/details/39899477 網站的自動登入一直都是有利於提高使用者體驗的功能,如果設計不好,也非常容易洩漏使用者的賬戶資訊。         比較常見的功能實現方案是將使用者的登

lvm邏輯卷的基本應用,擴展及縮減、快照功能實現方法

mapper tcl 磁盤擴容 align fsck 縮減 mark 替換 1.5 lvm:邏輯卷管理 作用:將多個物理磁盤組合成一個邏輯磁盤,使其擁有更大的磁盤空間邏輯磁盤結構如下:一、下面一Centos6 為例來創建 lvm,首先在虛擬機上添加3塊硬盤,大小自定。1、f

S2SH簡單例項註解版——登入功能實現

第一步:Spring4 整合 Hibernate4 Spring4 接管 Hibernate4 所有 Bean 例項,以及 SessionFactory,事務管理器; 泛型注入; Entity  package com.java1234.entity; import j

SecureCRT通過堡壘機(跳板機)自動登入伺服器的方法

一、先解決無法儲存密碼的問題 在MAC下新安裝使用secureCRT,第一次連線儲存過的密碼,第二次再啟動提示密碼不正確,又需要重新輸入密碼,密碼一直無法儲存,每次都需要手動再輸一次。 這個問題是由於MAC下的secureCRT有一個預設設定為使用Mac OS自帶的“鑰匙串訪問[Keyc

ionic學習(七):問答社群03:登入功能實現 總結篇

登入功能整整搞了一天,期間各種錯誤不斷,剛接觸ionic,對Angular也不太熟悉,沒正規的學過html,css,js等前端知識。 整理一下流程: 1.製作登入頁面 2.構造登入等待遮罩層和登入錯誤遮罩層 3.通過storge儲存登入的資訊 4.通過判斷是否登入,並顯示相應頁面 備

java自動登入功能和記住使用者名稱功能

實現在這兩個功能,都需要用到coolie技術,將所需要的使用者名稱或者密碼帶到瀏覽器端,實現使用者名稱和密碼的記錄,然後完成所要的功能。 一、自動登入功能 後臺的程式碼 1.1、後臺servlet中的程式碼 //1、判斷是否勾選了自動登入的複選框

網站接入第三方登入功能:Java開發QQ登入

  我的個人部落格:http://www.zjhuiwan.cn QQ登入確實比自己註冊賬戶登入要方便的多,所以就搞了個QQ登入。QQ互聯開放平臺為第三方網站提供了豐富的API。第三方網站接入QQ互聯開放平臺後,即可通過呼叫平臺提供的API實現使用者使用QQ帳號登入網站功能,且

Maven web 專案 簡單的登入功能實現

用IDEA構建一個空的Maven web專案 下一步 直到建立完畢 搭建環境 pom.xm 檔案新增依賴 pom.xml 檔案如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=

uni-app 第一講登入功能實現

最近看了一下HBuilderX(一款支援HTML5的Web開發IDE),簡單來說就是支援一套程式碼可以跑android、ios和微信小程式的編寫工具。看了一下他官網的案例,整體來說還算不錯。就是官方文件比較簡陋。很多坑需要自己一步一步填。網上唯一一個視訊教程還是在騰訊課堂(8

電商專案day09(網站前臺之廣告功能實現&優化策略)

今日目標: 1、完成入口網站的搭建 2、完成運營商廣告後臺管理 3、輪播圖廣告展示 4、spring data redis 整合到專案 5、redis快取優化廣告業務 一、入口網站業務分析 1.首先廣告業務: 第一:吸引使用者   第二:運營商

zabbix自動發現功能實現批量web url監控

現在有大量url需要監控,形式如http://itnihao.blog.51cto.com ,要求url狀態不為200即報警。   需求詳細分析:   大量的url,且url經常變化,現在監控用的是zabbix,如果手動新增模板,會造成大量重複工作,造成人力財力的浪費,造成休息時間的浪費,得不嘗失,如果利用

一個常用網站點贊動畫功能實現

/***點贊實現***/ .dianzan{ position:relative; width:15px; height:14px;margin-right:5px; display:inline-block; vertical-align:-1px; } .dianzan

javaWeb簡單的單點登入sso實現方法

總結一個簡單的sso單點登入實現方法,先上一張思路圖:思路不復雜,在一個Filter中如下:String baseUrl="你的基礎系統路徑";//比如是120.24.270.95:8080 String host=request.getHeader("HOST"); S