大部分系统中都有“找回密码”的功能,我们的平台也做了此功能,用户可通过 短信,邮件 找回密码。
其中对于邮件找回密码的方式遇到奇特的问题,记录下,看谁有遇到过,一起解决。
【现象】
当用户在界面点击“忘记密码”时,需要输入自己的登录的用户名,系统将按照之前预留的邮箱发送一封带有链接的邮件。用户点击该链接后即可修改密码,而且该地址是一次有效。在测试环境测试(不能链接公网)测试时,没有问题,但是以上到正式环境(内外联通)后,发现部分用户点击收到的链接时出现“找回密码链接已失效!”。
用户非常肯定的是自己重来没有点击过这个链接,但是第一次点击链接都失效了?奇怪的问题。
用户收到的邮件通知

链接被使用过一次后,再点击时出现的情况(部分用户没有点击也出现此种情况)
【重现】
在环境中重新注册个用户 test-xjd 发送邮件,正常的是 sina 邮箱没有此问题,163、qq 邮箱都存在同样的问题。
检查前置机的访问记录,发现该邮件被发出去后,大约半分钟左右就会被访问,导致后续真正的用户访问时链接失效了。
WHY? TELL ME WHY ?
【解决方法】
1、使用前置机将该类访问禁止掉。过滤条件 Mozilla/4.0 。
2、修改链接为短链接,同时链接里面有很多敏感信息泄露。需要整体处理掉。
【后续】
根据访问日志,提取出访问的IP列表如下,如果谁知道这些IP时谁的,或是哪个单位的,请告知一下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<code>101.226.102.97</code>
<code>101.226.33.200</code>
<code>101.226.33.202</code>
<code>101.226.33.220</code>
<code>101.226.33.223</code>
<code>101.226.33.227</code>
<code>101.226.33.228</code>
<code>101.226.33.238</code>
<code>101.226.51.226</code>
<code>101.226.51.228</code>
<code>101.226.65.104</code>
<code>101.226.66.173</code>
<code>101.226.66.180</code>
<code>101.226.66.187</code>
<code>101.226.66.192</code>
<code>101.226.89.116</code>
<code>101.226.89.119</code>
<code>101.226.89.123</code>
<code>101.226.89.64</code>
<code>101.226.89.69</code>
<code>112.64.235.247</code>
<code>112.64.235.253</code>
<code>112.64.235.254</code>
<code>112.64.235.86</code>
<code>112.64.235.91</code>
<code>180.153.114.199</code>
<code>180.153.114.200</code>
<code>180.153.163.187</code>
<code>180.153.163.209</code>
<code>180.153.201.212</code>
<code>180.153.201.66</code>
<code>180.153.205.253</code>
<code>180.153.205.254</code>
<code>180.153.206.16</code>
<code>180.153.206.17</code>
<code>180.153.206.21</code>
<code>180.153.206.23</code>
<code>180.153.206.31</code>
<code>180.153.206.38</code>
<code>180.153.214.178</code>
<code>180.153.214.180</code>
<code>180.153.214.181</code>
<code>180.153.214.182</code>
<code>180.153.214.188</code>
<code>180.153.214.190</code>
<code>180.153.214.191</code>
<code>222.73.77.54</code>
<code>222.73.77.55</code>