为了账号安全,请及时绑定邮箱和手机立即绑定

符合rest风格的图形验证码应该是怎样的?

符合rest风格的图形验证码应该是怎样的?

holdtom 2019-02-17 21:09:20
想在rest风格API中提供图形验证码,发现有多处问题:1.依据rest规则,所有get操作应该不改变服务器状态,但是图形码是直接嵌入在img中使用的。如下图片代码: <img src='/api/v1/captcha?t=13249234'/> 每次刷新,都应该重置服务器上的验证码,但如果用post,代码就会显得很诡异,请问怎么解决?2.rest是无状态协议,而常见的captcha类库都用到了session,请问是不是要为rest api重写captcha的类库?
查看完整描述

6 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

GET /api/v1/captcha/13249234 服务端路由处理好即可,可以理解为13249234就是验证码这个资源的标识符,不是验证码里面的内容

查看完整回答
反对 回复 2019-03-01
?
杨魅力

TA贡献1811条经验 获得超6个赞

rest不一定是写死的规则,get改变服务器状态也不是不可以,有时候风格是风格,业务是业务。

查看完整回答
反对 回复 2019-03-01
?
波斯汪

TA贡献1811条经验 获得超4个赞

用ajax发post请求 渲染img标签可行否

查看完整回答
反对 回复 2019-03-01
?
浮云间

TA贡献1829条经验 获得超4个赞

REST可以实现会话的啊。
POST一个请求给/session创建一个会话资源/session/1234,1234就是会话的ID。返回的HTTP 201 Created里面有session_created的数据,包括一个动态的会话口令(签名),以及新会话资源的URL。
带着这个口令(签名)GET请求会话资源/session/1234/captcha,相当于获取这个会话的一个属性,也可以往里面/session/1234/里面PUT别的东西。这样就可以和CAPTCHA结合起来了。

查看完整回答
反对 回复 2019-03-01
  • 6 回答
  • 0 关注
  • 720 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号