今天和项目讨论关于短信验证码存放;
我的主要观点是:放内存中,比如 Session 或者 ServletContext。
项目经理的观点是:放数据库里。
项目是个小项目,并发不大。
我的主要观点是:放内存中,比如 Session 或者 ServletContext。
项目经理的观点是:放数据库里。
项目是个小项目,并发不大。
|
ys0290May 10, 2017 via iPhone
1
过一会儿就失效的东西入库干嘛😱
|
|
zukMay 10, 2017 via iPhone
2
事后审计,不过意义不大吧
|
|
3
redis
|
|
jarlyynMay 10, 2017
6
项目管细节么?
项目不是应该提细节么? 比如 “验证码能够保留在服务器上 XXX 时间,以便随时审核” |
|
7
@Weny 我也是这么和项目经理说的,memcache, redis 之类的他说要搞分布式数据库才上那些东西。我感觉内存型数据库和关系型数据库的分布式没有必然联系哇~
|
|
acttoMay 10, 2017 via Android
9
发短信不要钱吗?入库好统计成本。
|
|
quickmaMay 10, 2017
10
嗯,项目经理为什么要管这个?
|
|
12
@x7395759 小公司,开发才 5 个人,包括我 3 个实习生。项目经理算是一个,还有个前端。项目经理他负责搭框架写,写计划之类的。
|
|
quickmaMay 10, 2017
13
@kyuuseiryuu 那就没啥好说了,存库还是存 redis 还是存 session 都没有关系,只要能用就行。
常规存 session 和 redis,存库审计和统计成本是没意义的,感觉项目经理想法有些固定。 |
|
14
你大还是他大? 他大就听他的.
|
|
xinyewdzMay 10, 2017
15
建议入库,统计和审查都比较方便。一般的项目,日志都需要保存几个月。更何况这种业务数据。
|
|
16
入库,业务方使用方便
|
|
17
我的话 就会要求入库或者日志。
生产服上面的日志,从来只会嫌少 不会嫌多的。 |
|
20
入库就入呗, 当你遇到让你去日志里面捞验证码的时候,你就明白项目经理是对的了
|
|
21
新网案法规定,日志必须至少保留 180 天。(我瞎编的)
这种东西有日志总比没日志强~后期什么大数据分析,都是数据来源。 |
|
22
@wildcat007 感觉验证码没有大数据分析的价值哇,验证码规律和客户端 IP 或者手机号没有必然联系。
|
|
wildcat007May 10, 2017
23
@kyuuseiryuu 感谢回复,我第一句只是调侃。验证码如果设置有失效时间,那么不用入库。但是一般请求验证码接口的一些信息,可能需要入库,比如 UA、IP 等等。
UA 主要是分辨 浏览器类型、版本、手机端等等,甚至可以获取系统信息、手机型号等等。 然后就是 IP 信息。 这些应该都是保存的吧。当出现问题的时候,这些数据都是有据可查的基础呀。 比如被人把短信接口做短信轰炸了?或者 某个地区的 访问量异常增加了? |
|
24
外部缓存 redis 之类的数据库里
往程序内存里写的话你重新发布的时候怎么办,强制所有短信验证码失效? 至于统计,写日志里就行 |
|
25
@wildcat007 嗯~有道理。
|
|
ChoateYaoMay 10, 2017
26
写成可配置存储验证码,要进数据库就进数据库,要进内存就进内存。
如果下次说要写进文件呢? |
|
OuyanganMay 10, 2017
27
redis , 统计用日志呗
|
|
fxxkgwMay 10, 2017
29
第一眼看到这个问题 我以为 LZ 是想说手机收到验证码是不是可以在超时后自动销毁 省的一大堆在短信里碍眼 看来我想多了。。
|
|
30
使用 OTP 算法生成验证码和做验证。
这样时间有效期和生成,校验一起搞定了。 |
|
wanglaihuaiMay 10, 2017 via Android
32
@hoythan 这是最实在的回答了,哈哈哈,赞一个。
|
|
garyalenMay 10, 2017 via Android
33
redis 后慢慢存库
|
|
wdd2007May 10, 2017
34
小项目,并发不大,入库就入库呗。
|
|
whileFalseMay 10, 2017
35
|
|
36
有必要入库。。。记录上用户的 IP 以及其它很多信息。。。。不然短信被刷了你都不知道。。我就查到过。。。。。。。。。还有短信接口返回值也要记录。。。我们很多用户反馈收不到短信。。。这样就有数据可查。。。。。。
|