亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

如何驗證會員系統中用戶的郵箱是否真實存在

2024-08-31 01:04:17
字體:
來源:轉載
供稿:網友

在開發網站時,我們需要對用戶注冊的郵箱進行核對與驗證,用戶填寫的郵箱是否有效郵箱。

好吧,我們先從數據庫入手,修改用戶表讓用戶有填寫email的字段,添加了2個字段:

驗證郵箱真實存在,會員系統郵箱驗證

ALTER TABLE [dbo].[Users]ADD [Email] VARCHAR(100) NULL, [IsVerify] BIT NOT NULL DEFAULT(0) SELECT * FROM [dbo].[Users]

由于你需要做2個功能,一個是要求用戶驗證郵箱有效性,也有可以以郵箱來讓用戶修改用戶密碼。因此需要創建一個表來存儲這2個類型的數據:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE TABLE [dbo].[RequestActionType]( [Type] NVARCHAR(2) NOT NULL PRIMARY KEY, [Description] NVARCHAR(30) NULL)GOINSERT INTO [dbo].[RequestActionType] ([Type],[Description])VALUES ('V',N'驗證郵箱是否有效。'),('C',N'用戶修改密碼')

接下來,你還需要創建另外一張表,是記用戶請求的事件,記錄用戶的一些信息,如帳號,郵箱,鏈接有時效性等:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE TABLE [dbo].[UserRequestAction]( [Type] NVARCHAR(2) NOT NULL FOREIGN KEY REFERENCES [dbo].[RequestActionType] ([Type]), [Token] [uniqueidentifier] NOT NULL DEFAULT(NEWID()), [Account] [nvarchar](30) NOT NULL, [Email] [nvarchar](150) NOT NULL, [Expire] [datetime] NOT NULL DEFAULT (DATEADD(day,(1),CURRENT_TIMESTAMP)),)GOSource Code

當用戶更改郵箱成功時,需要同進對[IsVerify] 更改為false。因此你需要對最開始的表寫一個觸發器:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE TRIGGER [dbo].[tri_Users_Update] ON [dbo].[Users]FOR UPDATEASDECLARE @U_nbr NVARCHAR(20),@IsVerify BITDECLARE @old_email VARCHAR(100),@new_email VARCHAR(100)SELECT @new_email = [Email] FROM INSERTEDSELECT @U_nbr = [U_nbr],@old_email = [Email],@IsVerify = [IsVerify] FROM DELETEDIF @IsVerify = 1 AND (lEN(ISNULL(@new_email,'')) = 0 OR @new_email <> @old_email) UPDATE [dbo].[Users] SET [IsVerify] = 0 WHERE [U_nbr] = @U_nbrGOSource Code

當用戶發出驗證郵箱或是更改密碼時,讓程序執行下面的存儲過程:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE PROCEDURE [dbo].[usp_UserRequestAction_Request]( @Type NVARCHAR(2), @U_nbr NVARCHAR(20))ASIF NOT EXISTS(SELECT TOP 1 1 FROM [dbo].[Users] WHERE [U_nbr] = @U_nbr)BEGIN RAISERROR(N'帳號錯誤或不存存在,請聯系系統管理員。',16,1) RETURNENDDECLARE @Email NVARCHAR(100)SELECT @Email = [Email] FROM [dbo].[Users] WHERE [U_nbr] = @U_nbrIF EXISTS(SELECT TOP 1 1 FROM [dbo].[UserRequestAction] WHERE [Type] = @Type AND [Account] = @U_nbr AND [Email] = @Email) UPDATE [dbo].[UserRequestAction] SET [Token] = NEWID(),[Expire] = DATEADD(day,(1),CURRENT_TIMESTAMP) WHERE [Type] = @Type AND [Account] = @U_nbr AND [Email] = @EmailELSE INSERT INTO [dbo].[UserRequestAction] ([Type],[Account],[Email]) VALUES (@Type,@U_nbr,@Email)GOSource Code

用戶驗證郵箱有效性,是在登錄之后進行的,因此只需要點擊“驗證”銨鈕即可,系統即發送驗證的郵件至用戶的郵箱中。
另外,當用戶忘記密碼時,是在沒有登錄系統之下進行的,因此需要輸入用戶的帳號才能進行下一步。

均是使用這個存儲過程[dbo].[usp_UserRequestAction_Request]。

接下來的流程是,用戶會打開他的郵箱,查閱剛剛系統發送的郵件。郵件內容就是看實際需求了,如提示用戶,是不是自己本人操作,安全性等,這些都不是怎樣重要,重要的是那一條鏈接。

指示用戶點擊鏈接。這個鏈接會導上到網站一個頁面。當到這個頁面時,系統會在這頁面進行一些程序處理,檢查鏈接有效性,時間是否過期,如果一切沒有問題,會進更新IsVerify字段為ture.

如果是用戶忘記密碼的話,在用戶點擊鏈接,系統也會檢有效性,沒有期,面會出現更改密碼的form,讓用戶進行更改全新的密碼。

Ok,還差2個存儲過程,第一個是更新IsVerify字段值:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE PROCEDURE [dbo].[usp_Users_UpdateIsVerifyField](  @token NVARCHAR(36))ASIF EXISTS(SELECT TOP 1 1 FROM [dbo].[UserRequestAction] WHERE [Token] = @token AND [Expire] >= CURRENT_TIMESTAMP)BEGIN  DECLARE @Account NVARCHAR(30)  SELECT @Account = [Account] FROM [dbo].[UserRequestAction] WHERE [Token] = @token  UPDATE [dbo].[Users] SET [IsVerify] = 1 WHERE [U_nbr] = @Account  UPDATE [dbo].[UserRequestAction] SET [Expire] = DATEADD(DAY,-1,CURRENT_TIMESTAMP) WHERE [Token] = @tokenENDGOSource Code

另一個是ResetPassword的,重設密碼:

驗證郵箱真實存在,會員系統郵箱驗證

CREATE PROCEDURE [dbo].[usp_Users_ResetPassword](  @token NVARCHAR(36),  @Password NVARCHAR(100))ASIF EXISTS(SELECT TOP 1 1 FROM [dbo].[UserRequestAction] WHERE [Token] = @token AND [Expire] >= CURRENT_TIMESTAMP)BEGIN  DECLARE @Account NVARCHAR(30)  SELECT @Account = [Account] FROM [dbo].[UserRequestAction] WHERE [Token] = @token  DECLARE @pwd VARBINARY(MAX) = ENCRYPTBYPASSPHRASE('insus#sec!%y',@Password)  UPDATE [dbo].[Users] SET [Pwd] = @pwd WHERE [U_nbr] = @Account   UPDATE [dbo].[UserRequestAction] SET [Expire] = DATEADD(DAY,-1,CURRENT_TIMESTAMP) WHERE [Token] = @tokenENDELSEBEGIN  RAISERROR(N'無法更改密碼,請聯系客服或網絡管理員。',16,1)  RETURNENDSource Code

數據庫方面開發就這樣子,程序方面看你自己發揮了。

以上所述是小編給大家介紹的驗證會員系統中用戶的郵箱是否真實存在的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
麻豆一区二区在线观看| 亚洲丁香久久久| 日韩视频免费中文字幕| 日韩精品在线免费播放| 亚洲激情 国产| 久久午夜a级毛片| 欧美在线观看网站| 欧美在线观看日本一区| 在线视频日本亚洲性| 91免费高清视频| 91伊人影院在线播放| 欧美一级视频一区二区| 91成人在线观看国产| 日韩欧美在线免费观看| 欧美激情奇米色| 久久综合久久美利坚合众国| 国模视频一区二区| 亚洲欧美日韩区| 成人在线精品视频| 国产日韩av在线播放| 亚洲人成亚洲人成在线观看| 国产精品嫩草影院一区二区| 另类色图亚洲色图| 亚洲性生活视频在线观看| 久久久久久久久久久免费| 成人黄色av网| 国产高清在线不卡| 欧美亚洲成人网| 亚洲自拍在线观看| 亚洲aa中文字幕| 91久久精品久久国产性色也91| 成人国产精品一区| 中文字幕国产精品| 在线视频欧美日韩精品| 成人欧美一区二区三区在线湿哒哒| 久久精品国产亚洲7777| 国产亚洲a∨片在线观看| 亚洲高清一区二| 国产精品亚洲一区二区三区| 国产精品日日做人人爱| 91中文字幕在线| 久久久久久久一| 欧美激情一区二区三级高清视频| 午夜精品一区二区三区在线视| 美日韩丰满少妇在线观看| 97视频在线播放| 日本一区二区三区在线播放| 亚洲国产精品中文| 国产精品偷伦一区二区| 久久精品视频99| 中文字幕综合在线| 97国产精品视频人人做人人爱| 91精品视频在线看| 欧日韩在线观看| 国产成人一区二区| 国产亚洲精品久久久久久| 亚洲国产成人爱av在线播放| 九九九久久久久久| 久久九九全国免费精品观看| 国产一区二区三区视频在线观看| 欧美高清videos高潮hd| 日韩美女视频在线观看| 国产91在线播放九色快色| 亚洲国产精品嫩草影院久久| 懂色av中文一区二区三区天美| 97在线免费观看视频| 午夜精品蜜臀一区二区三区免费| 精品高清美女精品国产区| 欧美视频专区一二在线观看| 欧美亚洲视频一区二区| www国产精品视频| 亚洲综合小说区| 久久久久亚洲精品成人网小说| 亚洲男女自偷自拍图片另类| 欧美极品在线播放| 精品国产欧美一区二区五十路| 在线看国产精品| 日韩禁在线播放| 精品久久香蕉国产线看观看gif| 91免费视频国产| 尤物九九久久国产精品的分类| 国产亚洲欧美日韩一区二区| 亚洲精品一区二区在线| 亚洲人精选亚洲人成在线| 日韩成人av一区| 国产日韩精品在线播放| 精品久久久久久久中文字幕| 国产精品女人久久久久久| 国产精品一区久久久| 日韩成人在线视频网站| 大荫蒂欧美视频另类xxxx| 亚洲欧美日韩视频一区| 日韩大片免费观看视频播放| 亚洲aⅴ日韩av电影在线观看| 亚洲第一网站免费视频| 欧美黑人xxxⅹ高潮交| 国产精品久久久久久久av电影| 久久成年人视频| 97香蕉超级碰碰久久免费的优势| 亚洲一区二区三区在线免费观看| 亚洲精选一区二区| 色中色综合影院手机版在线观看| 欧美性xxxx在线播放| 欧美最顶级的aⅴ艳星| 欧美精品18videos性欧美| 久久中国妇女中文字幕| 亚洲一区二区精品| 久久精品国产69国产精品亚洲| 中文字幕久久久av一区| 日韩美女写真福利在线观看| 中文字幕一精品亚洲无线一区| 欧美日韩激情美女| xxx欧美精品| 在线观看成人黄色| 一区二区三区 在线观看视| 国产一区二区三区毛片| 亚洲国产精品久久精品怡红院| 国产97在线|日韩| 亚洲欧美国产一区二区三区| 欧美有码在线视频| 国产精品一区久久久| 国产精品美女999| 福利精品视频在线| 亚洲无亚洲人成网站77777| 色先锋资源久久综合5566| 日韩精品视频中文在线观看| 日韩综合视频在线观看| 欧美成人午夜视频| 一区二区三区视频观看| 久久久久久国产精品美女| 日韩中文字幕免费视频| 一区二区三区www| 国产精品激情av电影在线观看| 亚洲欧美自拍一区| 精品久久久久久中文字幕| 一区二区三区久久精品| 欧美激情精品久久久久| 亚洲欧美激情在线视频| 国产精品久久综合av爱欲tv| 亚洲欧美日韩精品久久| 欧美精品videofree1080p| 国产偷国产偷亚洲清高网站| 亚洲欧美在线免费| 伦理中文字幕亚洲| 欧美黑人巨大精品一区二区| 欧美日韩精品国产| 国产欧美日韩免费看aⅴ视频| 欧美激情第6页| 俺也去精品视频在线观看| 亚洲一区二区三区在线视频| 欧美在线播放视频| 91精品国产综合久久香蕉最新版| 色综合久久久888| 欧美久久精品一级黑人c片| 国产精品揄拍一区二区| 久久精彩免费视频| 日韩精品电影网| 国产精品视频自拍| 国产精品专区h在线观看| 国产日韩在线观看av| 国产狼人综合免费视频| 欧美精品免费播放| 成人网欧美在线视频| 国产一区玩具在线观看|