也談使用者登入註冊

2022-02-06 12:23:54 字數 728 閱讀 5629

早上看了一篇文章無廢話mvc入門教程九[實戰一:使用者註冊與登陸] ,被無廢話、實戰

註冊和登入幾乎是每個web必備的模組,通常面試的時候也會簡單和面試者討論下。

個人感覺做註冊和登入需要考慮以下兩點:

很顯然,現在沒人會用明文儲存了,這樣會顯得我們做程式的很二。園子裡面有很多這方面的文章,可以搜尋下。可以選擇md5加密,加上自己的鹽值,或者使用使用者註冊的使用者名稱做為鹽,再或者自己變異乙個md5加密方式出來等等。

http是無狀態的,而服務端需要知道使用者的登入狀態,所以需要乙個標識,來標識使用者的登入狀態。使用者登入後,需要把使用者的資訊,比如userid或者username寫入cookies,作為使用者已登入的標識。然而這樣安全麼?顯然是不安全的,因為cookies可以偽造,userid或者username在**上很容易知道,自己偽造乙個cookies,就可以是任意乙個使用者登入從而繞過使用者密碼。那麼加密不就行了麼,是的,加密以後別人看不到了,不知道加密方式的話也沒辦法偽造了。這樣就安全了麼?顯然不是,如果把這個加密的字串給複製到別的計算機,別的瀏覽器上,那麼這個使用者不也被登入了麼。所以還需要乙個key,來標識這個登入狀態的唯一性,這個key可以是瀏覽器標識、ip位址加上其他一些引數加密而來。這樣才是乙個相對可靠的登入狀態儲存方式。

如果使用者忘記了密碼,怎麼辦,所以還需要提供乙個密碼重置的地方,密碼重置又有很多方式,回答問題,手機,郵箱等

示例**感覺沒必要,知道思路**很容易。

不用登入也能編輯使用者的登錄檔

登錄檔中的根鍵 hkey current user 中儲存了當前登入使用者的使用者資訊,一般在此鍵下修改與當前使用者相關的配置資訊。如果想在登錄檔中修改其他使用者的配置資訊,就必須先要用相應使用者zrrnq賬戶登入,然後再到登錄檔根鍵 hkey current user 下修改。如果要修改多個使用者...

使用者註冊登入 和 資料寫入檔案的註冊登入

class user def init self,username,password self.username username self.password password class account def init self self.user list 目的是儲存使用者資訊 pass de...

python使用者註冊登入登出功能

root kl bin python3 author kl 使用者註冊登入登出功能 import getpass userdb 定義字典 defregister 定義註冊模組 uname input username strip strip兩邊去空格 if uname and uname not i...