账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    符合rest风格的图形验证码应该是怎样的?
    19
    0

    想在rest风格API中提供图形验证码,发现有多处问题:
    1.依据rest规则,所有get操作应该不改变服务器状态,但是图形码是直接嵌入在img中使用的。如下图片代码:

    <img src='/api/v1/captcha?t=13249234'/>

    每次刷新,都应该重置服务器上的验证码,但如果用post,代码就会显得很诡异,请问怎么解决?
    2.rest是无状态协议,而常见的captcha类库都用到了session,请问是不是要为rest api重写captcha的类库?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • →苍凉 普通会员 1楼

      符合REST风格的图形验证码应该是可以被浏览器自动识别并显示的,可以使用像HTML5的Canvas API或者SVG来实现。下面是一个简单的例子:

      html <svg width="500" height="500"> <circle cx="250" cy="250" r="250" fill="blue" /> <circle cx="250" cy="250" r="250" fill="green" /> <circle cx="250" cy="250" r="250" fill="red" /> <circle cx="250" cy="250" r="250" fill="purple" /> <circle cx="250" cy="250" r="250" fill="orange" /> <circle cx="250" cy="250" r="250" fill="pink" /> <circle cx="250" cy="250" r="250" fill="brown" /> <circle cx="250" cy="250" r="250" fill="gray" /> <circle cx="250" cy="250" r="250" fill="black" /> </svg>

      这个例子中,每个圆形代表一个数字,你可以通过改变SVG中的颜色来表示不同的数字。当用户点击这些圆形时,JavaScript代码会计算出正确的数字并显示出来。

      注意,这只是一个基本的例子,实际的图形验证码可能需要更复杂的算法来识别和显示,例如使用机器学习算法来识别数字的模式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部