搜索

首页  >  问答  >  正文

php 做手机短信验证把验证存在session中安全吗

php 做手机短信验证把验证存在session中安全吗

session 数据库 缓存

存哪里里面好点呢

欧阳克欧阳克2728 天前1039

全部回复(4)我来回复

  • phpcn_u1582

    phpcn_u15822017-07-04 13:47:58

    数据库。 短信验证码要考虑几个约束:1.多少秒之内同一个手机号不得再接收短信2.同一个ip一个时间段里不能调用多少次,为了安全,或许你还需要加上一天之内短信不能超过多少条。 所以这些约束的实现用数据库比较好。session肯定不行。备注: 加上图形验证码,不然接口容易遭受攻击哦。

    回复
    0
  • 某草草

    某草草2017-07-04 13:47:58

    建议在cache 里面 比如 redis memcached 都可以.
    cache 的性能比DB要的多

    回复
    0
  • 欧阳克

    欧阳克2017-07-04 13:47:58

    安全,因为session在服务器上,客户端看不到,至于session的存储方式,可以默认文件session,可以session入库,还可以用内存来存,比如上面有人说的redis memcache等,也可以在linux下用自己写的缓存,都行,效率和成本只能有一个,用缓存成本高,用数据库效率低

    但是实际上,现在很少有公司自己搞这个,都用第三方,流量低的网站第三方划算,流量高的网站,你还缺这点钱?

    回复
    0
  • 黄舟

    黄舟2017-07-04 13:47:58

    安全是相对的,你如果能保证cookie被篡改服务器能发现就是安全的,这一点可以通过动态签名来实现,动态签名可以是value、key、time的hash,之后服务器再对动态签名进行验证。不过一般这个业务场景用redis等缓存来实现比较方便,不推荐用session,session的超时事件没有缓存好控制。

    回复
    0
  • 取消回复