乙個完整 安全的使用者登入系統

2022-04-06 09:32:40 字數 884 閱讀 6337

在應用php程式設計的時候,我有乙個習慣,不太愛好應用現成的庫檔案,例如phplib或者其它類似的庫,在這個系統中,我也打算自己寫乙個庫檔案,它需要處理認證、確認email,更新帳號(密碼,email)等事情。

為了在保證該系統安全的同時,不會加重我現有資料庫的累贅。因此這個新的系統要依附cookies。這確實是乙個兩難的選擇,由於假如只是設定乙個使用者名稱的cookie,是很不安全的,這行不通,但從資料庫的累贅考慮,我也不能參加乙個簡略的無序碼而交由我的資料庫來進行驗證。

解決的方法是同時設定兩個cookie,乙個是使用者名稱的cookie,乙個是無序碼的cookie。這個無序碼實際上是由使用者名稱和乙個超級密碼(只有程式設計者知道)組合通過md5()函式運算產生的。由於md5()是乙個單向的無序碼,因此是不可以破解的。在使用者更改email時,我也可以用該email和超級密碼產生乙個無序碼,以讓使用者確認修正。這實際上是乙個公匙/私匙類的系統。不明白?沒關係,下面再慢慢闡明。

有趣的是,這個系統的擴大才能是可以達到無限的,由於該系統的重要工作是盤算md5()函式的值,而且由web伺服器完成,在負載增加時,可以參加其它的伺服器來分擔負載,固然認證系統不會拖跨乙個資料庫,但是這樣做就讓終極的瓶頸只能呈現在資料庫上。

以下是該庫中的兩個函式--記號產生和記號認證函式。

<?php

$hidden_hash_var='your_secret_password_here';

$logged_in=false;

unset($logged_in);

function user_isloggedin()

file://are both cookies present?

if ($user_name && $id_hash) else {

file://

乙個完整 安全的PHP使用者登入系統

在使用php 程式設計的時候,我有乙個習慣,不太喜歡使用現成的庫檔案,例如phplib或者其它類似的庫,在這個系統中,我也打算自己寫乙個庫檔案,它需要處理認證 確認email 更新帳號 密碼,email 等事情。為了在保證該系統安全的同時,不會加重我現有資料庫的負擔。因此這個新的系統要依賴cooki...

PHP開發乙個完整 安全的使用者登入系統

在使用php程式設計的時候,我有乙個習慣,不太喜歡使用現成的庫檔案,例如phplib或者其它類似的庫,在這個系統中,我也打算自己寫乙個庫檔案,它需要處理認證 確認email,更新帳號 密碼,email 等事情。為了在保證該系統安全的同時,不會加重我現有資料庫的負擔。因此這個新的系統要依賴cookie...

Python模擬乙個使用者登入系統

直接上 模擬乙個使用者登入系統,使用者輸入使用者名稱和密碼,輸入正確即可進入系統 d yao 123456 while 1 name input 請輸入使用者名稱 if name in d break else print 你輸入的使用者名稱不存在,請重新輸入 count 3 while 1 pas...