本文共 1704 字,大约阅读时间需要 5 分钟。
注册完了就是为了登录,session,cookie,jwt都不能最终及解决安全问题,csrf-token是用来解决一些伪装的问题,jwt和cookie是解决状态的问题,不是安全的问题,jwt是改了可以知道,cookie改了不知道,jwt可以在服务器端不存session。但不能解决身份伪装的问题
用户名和密码提交,我们进行验证,验证通过即可登录,密码的安全,最好不要在客户端加密,相当于暴露自己的秘钥加密方式,是不安全的,有些网站会有一个upgrade,会将http提升成https,https就需要证书互相通信,用证书来加密解决敏感数据的加密问题
客户端通过提交密码和用户名用json的方式,这是restful风格的,用户名找打了再去匹配密码,不要给别人提供很详细的错误信息 整个提交过程继续使用json,使用restful风格,再设计一个url,user下的login 先写一个login函数 这样映射写完了,剩下就需要解决登录验证过程 像login这样的接口,别人往往会来攻击你,你就要记录一下在干什么,现在拿到email。password,该做登录验证 现在做一下验证,这样相当于就要一条数据,能用索引的往前写作为判断条件 也可以用first,判断你这个数据有没有,通过email去找,找到了就对了,没找到也不是异常就抛出登录失败 用户名找到好后,就需要验证密码,这样写没有效率问题,结构比较清晰 验证成功想办法把信息显示出来 登录成功发一个token,否则就登录失败 准备login登录 看一下原因,这一块出了问题 unique对象应该哎编码check之前 拿出来的时候好像字符串,试试encode一下 现在就拿到了 这个类发现是字符串,最后还帮我们转一下bytes check成功了现在就返回一个token,登录成功发一个令牌,还不允许你改 但是不能防止身份被盗用 的问题 代码很简单,把数据拿回来,做check, check成功就返回一个token,下一回带回来这个token,有几种方法,body,cookie,造一个header字段 可以在这里多写一些信息,将token作为其中的一项,用户登录成功后,还需要用一些用户的信息,用户叫什么(比如页面上的用户xxx你好) 有时候要显示用户的姓名可以把用户姓名返回去,也可以把token放进去,现在这样就是返回两项,一项是user,一项是token 如何让用户知道登录成功或者让她下次带过来信息,有很多办法: 1.浏览器端自己写json,我们提取json,由前端我们自己写的js提交的时候把token值带上,cookie也是这么玩的,由token来带的 token这样写就不合适了 直接返回后面这部分即可 注册完了要强行登陆一次 刚才返回过来的jwt是这个 等会看生成的和这个做下对比 再次发送 对比下差距 现在有一点问题 忘记了return 现在全新的写一个,故意写错密码 登陆失败 再次登录set-cookie来了 代码要求带上set-cookie 也就是服务器端强行让你更新cookie 这个值要知道怎么算的,对照这个值可以知道为什么有的一样有的不一样 在你response之前要set-cookie告诉 在真正response的时候,都 会把头准备好,cookie是放在response的header中的 现在把cookie颁发给他了,已经把令牌给对方了,给了就下回需要带上令牌,检验合格,就认为登录过,就放行,也就是给的token值要发回来。就需要验证,有几种办法可以用header中的authorization来进行验证,必须在header里增加authorization,然后把token信息加到里面去,方法是post和get,
还有就是自定义header头,习惯是x开头 现在拿到token 准备下次让你把token信息带回来,这个值带回来,通过header来,我们想办法把这个值从header里拿出来,request拿数据,只能用meta,试试在show方法里能不能拿到值 先随便定义一个jwt,然后发送get请求看能不能拿到转载地址:http://fozgn.baihongyu.com/