发表于: 2018-02-24 00:07:41

1 633


近期完成的事情:

      这一个月断断续续各种事再加上过年,每天抽空把任务7做的差不多了,现在写个小结。

       在表里加上了手机、邮箱、头像字段,用mbg重新生成了下User相关类。

      在容联、SendCloud和七牛云分别申请了短信、邮箱和对象存储,按照文档测试进行测试。

      首先是七牛云的文件上传,先加载七牛云sdk包:

      将需要的密钥以及空间名称等写入配置文件中,在创建类构造函数时进行加载,之前试了下用spring创建该类的bean并用<property>标签管理密码,然后再controller中创建,但是这样会使整个web程序的加载和运行变慢,所以换成这种方式。

      这是上传用函数,上传出现问题时将错误打印到日志里方便查看。

      测试函数如下,成功上传。


容联短信部分

      容联的sdk需要自己手动添加到本地库中,然后再进行配置。

      容联和七牛云的代码思路一样,将需要配置的账号密码等写入配置文件,初始化类构造函数时加载,并把错误写入日志文件。

      发送方法如下,测试成功:

      

SendCloud邮件部分

      sendcloud需要sdk也需要手动添加,同时还需要加入一些依赖:

      代码如下,测试发送成功:


注册界面新增如下,收起的三行是用户名及两次输入密码:


发送验证码的函数,用的是Jquery ajax进行异步发送请求,需要引入jquery的库:

controller代码如下,用@RequestParam注释来接收传过来的数据,生成6位随机验证码,发送后将手机号和验证码存入session等待提交时进行验证。


上传图片的函数,用的是H5的formData对象。

controller代码如下,用spring的MultipartFile来接收前端传来的文件,要讲文件通过七牛云 上传,还需要将MultipartFile转成File类型,百度了一下前三行代码copy了下来。

提交时的确认函数,在后端代码确定验证码无误的情况下再将图片进行上传,将数据写入数据库完成注册,这里用@RequestBody接受一个参数json串并转成参数对象,就不用写两个@requestparam了。为了完成json到java对象的转换,需要使用jackson:


1.第三方返回值的含义在官网上就可以查看。短信通道防攻击大概有这么几个思路

 (1)验证码:一般都是第三方提供的服务,包括文字、滑块、点选、行为识别等等。

 (2)短信发送间隔以及失效时间,在前端设置60或120秒的发送间隔限制。在session中加入验证码发送时间,在注册验证时跟当前时间验证一下,超过限定时间则作废。

 (3)手机号码每天发送次数限制,可以专门添加一个表用来记录每日手机发送验证码次数,超过限定次数则不能发送。

 (4)流程限定——将手机短信验证和用户名密码设置分成两个步骤,用户在设置成功用户名密码后,下一步才进行手机短信验证,并且需要在获取第一步成功的回执之后才可进行校验。(这个方法已经很少见有网站或者游戏注册时用到了。)

至于邮箱的防攻击策略,邮箱一般都是在注册成功后进行邮箱验证的,可以用账号限制每天发送次数的策略。


2.七牛云的图片处理功能还是很强大的,根据文档一步步照做就好了。

https://developer.qiniu.com/dora/manual/1279/basic-processing-images-imageview2

防盗链也是

https://zhuanlan.zhihu.com/p/19659746?refer=qiniu-ts

简单的用了下腾讯云的OSS,感觉跟七牛云的大同小异,可能是我用的还少,就是测试了下demo,得不出太多的感受。


3.数据迁移

七牛云有专门的数据迁移工具 https://developer.qiniu.com/kodo/tools/1296/qfetch#4,要是自己写,感觉就是一个上传下载的过程,这样是不是文件保存时要有一个统一制式的名字,在做循环下载上传时好根据名字来获取Url?


明天计划的事情:

       开始任务8。


遇到的问题:

       能够通过配置文件快速切换使用哪种图片存储    这个功能想不明白怎么实现比较好。


收获:

       对于如何运用第三方API有了一定的认识,以及各种零碎的java基础知识。




 



      


返回列表 返回列表
评论

    分享到