不要把密码发给邮箱
只把找回密码的页面URL发给邮箱,然后记录一下状态到数据库
找回密码的页面看不到密码,但是可以修改密码
修改之后把状态修改一下,再次登陆这个页面,就失效,不能改密码
只把找回密码的页面URL发给邮箱,然后记录一下状态到数据库
找回密码的页面看不到密码,但是可以修改密码
修改之后把状态修改一下,再次登陆这个页面,就失效,不能改密码
解决方案 »
- 一些在线视频网站都采用flv影片,这有什么好处吗?
- 论坛第一次显示时图片无法显示,第二次刷新后就可以了,为啥?
- 谁能讲讲,虚拟主机/url重写/二级域名,三个的联系和区别?
- ◆下载文件名中◆
- 看不过去了,给个解释,大家进来鉴定
- asp.net2.0能够使用附加方式连接数据库,虚拟空间的数据库空间范围岂不是很大?
- 像hao123网站一样,可以在它上面登录各个邮箱,怎么做?
- window.open方法打开的页面,在服务器端怎么获取opener的url
- 小菜一碟:让web页面部分内容只读
- ** webform ** 调用 win32api 问题?如何调用?up 也有分!!!
- asp.net WebForm中Html服务器控件如何通过js阻止事件回发,头疼,100分求解
- Response.Write跳转后的代码为什么还会被执行?
更进一步的,可以设置有效期,如果15分钟之内没有打开此页面,也失效
谁申请的找回密码,你把它记录到数据库里,然后把主键当URL参数拼接个URL发送邮箱
这样不论发送100遍还是1000遍,里面只不过是不同的参数,根本没有任何跟密码相关的内容,也不怕会泄密
反正只要邮箱不丢失,别人就获取不到这个URL的信息,你传明文还是密文其实都没什么区别如果对方连你从服务器发给用户邮箱的数据包都能截获,你就不要考虑安全性了
我的意思是URL都是相同的www.text.com ? ID = Email对应的帐号 (假设我自己是 www.text.com ? ID = 'ABC')
↑
我这时候就可以用猜的,看到朋友这个网站的帐号是XYZ,
接着故意用他的Email → 触发忘记密码→接着故意这样 www.text.com? ID = XYZ
就可以连到他的修改密码页面,之后就可以登入他的帐号了 >< ?
可以用随机数,然后把它存进数据库,访问页面的时候去数据库里匹配
或者先存数据库,然后取出主键,把它拼接到URL里
隨機數!! 對耶 挪挪 哈哈 太聰明了~~Table 紀錄 隨機數 + 帳號
www.text.com ? Prod = lasjkdf823kllkasdjfaa92983asda92394 这样的链接让后让用户去页面上自己操作,其实在安全上没有本质上的区别,都是希望发送一个用户猜不到的“修改密码编码”到注册用的邮箱。后者在用户体验上,以操作麻烦来换得安全感觉。
挪挪~
我本來的意思是輸入Email → 檢核是否有此Email註冊 (有)→ 隨機產生密碼到那個註冊的信箱 (跟他說密碼幫你改成這個了)↑
本來只是單存怕說,如果我知道這個人,有用這個信箱註冊過這個網站。一直輸入他的信箱就可以搞亂他的密碼 @@~
他也會一直收到密碼被改的信