日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用Redis存儲用戶郵箱,實(shí)現(xiàn)安全激活(redis郵箱激活)

## Redis安全激活碼

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的沾化網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

在網(wǎng)絡(luò)認(rèn)證中,安全激活碼是一種特殊的登錄驗證方式,用戶需要先填寫自己的郵箱地址,然后系統(tǒng)會發(fā)送一封郵件,里面包含一串激活碼。用戶只有提交正確的激活碼,才能完成激活。

在用戶激活之前,我們需要把用戶提交的郵箱地址存儲起來,常見的存儲方式是使用關(guān)系型數(shù)據(jù)庫,但是大多數(shù)關(guān)系型數(shù)據(jù)庫(比如MySQL)的存儲過程比較繁瑣,效率也相對較低。此外,關(guān)系型數(shù)據(jù)庫也有一定的漏洞,不安全。

為了優(yōu)化存儲用戶郵箱地址的安全性和效率,我們可以使用Redis存儲用戶的郵箱地址,Undertow框架的Redis服務(wù)器提供了一個非常簡潔的API來實(shí)現(xiàn)這一功能。

### Redis服務(wù)搭建

我們需要先在服務(wù)器上(可以是電腦,云服務(wù)器)上搭建有Redis服務(wù)器,在CentOS 8上安裝Redis服務(wù)器的過程其實(shí)很簡單,只需要Playbook/Shell腳本就可以搞定。

接下來,在搭建好Redis服務(wù)器后,你就可以通過服務(wù)器訪問地址和端口號來通過客戶端連接服務(wù)器,比如redis-cli。

### 使用Redis存儲用戶郵箱

我們需要使用Redis中的SET命令,將用戶填寫的郵箱地址作為Key,設(shè)置一個隨機(jī)字符串作為Value,實(shí)現(xiàn)存儲用戶郵箱存取操作,代碼如下:

// 連接Redis服務(wù)器
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 獲取用戶郵箱
$eml = $_POST['eml'];
// 隨機(jī)生成6位激活碼
$activeCode = substr(uniqid(),0,6);
// 使用SET命令將用戶郵箱作為Key,激活碼作為Value存儲
$redis->set($eml, $activeCode);

### 發(fā)送郵件

在Redis服務(wù)器存儲了用戶郵箱和激活碼之后,再使用PHP發(fā)送郵件,把激活碼發(fā)送給用戶的郵箱,這樣用戶就可以收到安全的激活碼了,代碼如下:

// 獲取激活碼
$activeCode = $redis->get($eml);
// 郵箱配置信息
$from = 'xxx@xxx.com';
$to = $eml;
$subject = '安全激活碼';
// 激活地址
$url = 'http://xxx.xxx.com/active.php?code='.$activeCode;
$body = '請點(diǎn)擊鏈接激活:'.$url;
// 發(fā)送郵件
$result = ml($to, $subject, $body);
if ($result) {
print_r("郵件發(fā)送成功!");
} else {
print_r("郵件發(fā)送失敗!")
}

### 驗證激活碼

接下來,當(dāng)用戶收到郵件并點(diǎn)擊激活碼時,就可以開始進(jìn)行激活碼的驗證了,我們可以使用Redis的Get命令,從Redis服務(wù)器中獲取到用戶之前存儲的激活碼,然后和用戶提交的激活碼進(jìn)行比對,如果兩個激活碼一致,則認(rèn)證通過,代碼實(shí)例如下:

// 獲取激活碼
$activeCode = $_GET['code'];
// 從Redis服務(wù)器獲取存儲的激活碼
$savedActiveCode = $redis->get($eml);
// 比對激活碼
if ($savedActiveCode == $activeCode) {
print_r("驗證通過!");
} else {
print_r("驗證失敗!");
}

相比傳統(tǒng)的用戶認(rèn)證方式,使用Redis存儲用戶郵箱地址安全激

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


分享題目:用Redis存儲用戶郵箱,實(shí)現(xiàn)安全激活(redis郵箱激活)
鏈接分享:http://www.dlmjj.cn/article/dhhejoo.html