phpcn_u15822017-07-04 13:47:58
数据库。 短信验证码要考虑几个约束:1.多少秒之内同一个手机号不得再接收短信2.同一个ip一个时间段里不能调用多少次,为了安全,或许你还需要加上一天之内短信不能超过多少条。 所以这些约束的实现用数据库比较好。session肯定不行。备注: 加上图形验证码,不然接口容易遭受攻击哦。
欧阳克2017-07-04 13:47:58
安全,因为session在服务器上,客户端看不到,至于session的存储方式,可以默认文件session,可以session入库,还可以用内存来存,比如上面有人说的redis memcache等,也可以在linux下用自己写的缓存,都行,效率和成本只能有一个,用缓存成本高,用数据库效率低
但是实际上,现在很少有公司自己搞这个,都用第三方,流量低的网站第三方划算,流量高的网站,你还缺这点钱?
黄舟2017-07-04 13:47:58
安全是相对的,你如果能保证cookie被篡改服务器能发现就是安全的,这一点可以通过动态签名来实现,动态签名可以是value、key、time的hash,之后服务器再对动态签名进行验证。不过一般这个业务场景用redis等缓存来实现比较方便,不推荐用session,session的超时事件没有缓存好控制。