网站建设实训总结,百度竞价推广代理商,深圳营销网站建设,外贸零售网站建设#xff08;1#xff09;网页端的安全登录设计 很多大型网站都有登录限制。这里以一个案例作为例子完整解析。理解安全的登录设计方式#xff0c;无论对于以后做自动化#xff0c;自动登录网站#xff0c;获取数据#xff0c;还是自己开发月租类型的系统非常有用。当前一…1网页端的安全登录设计 很多大型网站都有登录限制。这里以一个案例作为例子完整解析。理解安全的登录设计方式无论对于以后做自动化自动登录网站获取数据还是自己开发月租类型的系统非常有用。当前一般无法避免的一个问题比如你提供一个服务典型的比如课程网你已经把价格定义的很便宜了比如25元/月但是别人可能只需要你里面的一部分或者用一俩天典型的比如网盘/下载/影视剧/听歌总有人会将自己的账号出租出去获利这是变相的损害了网站的权益。
在系统早期没有用户的时候无所谓用户怎么共用账号但是到了后期实在是用户一直很多但是收益不涨的情况下就不得不开始一些设计的措施与反制措施。 首先用户进入页面的时候随机生成一个唯一设备码只要是随机就行 类似84ec5ad9282b49dc679071da39b95564 这种长串这样每个浏览器登录的时候检查是否生成了一个设备码没有设备码生成一个并写入到cookie或者storage里面。如果用户试图登录的时候将手机号绑定该设备码。 将设备码关系和手机号关系上报到了服务器端服务器记录了对应关系。需要注意的是一定要加个token验证提交端的身份否则任意交口上报的数据都被采用存在上报无法验证确定安全性。
然后用户在提交手机号密码的时候将上一步接口的token和deviceid 俩个参数放入header里面传递。拿到了数据之后校验身份如果设备码和手机号还有token三者不统一表示是从不同地方提交的可以拒绝此次登录。因为可能存在其他端欺骗服务器情况。然后才开始验证手机号密码或者验证码的关系。
身份验证通过会返回一个登录的token.用登录的token和设备端deviceid,去注册当前的设备在线。这样就保证了用户不用一直验证账号密码相关。将token和device进行强绑定 2扫码登录的实现 如果我们测试WX的二维码可以发现是
https://weixin.qq.com/x/aaaaaaz这种类似链接生成这个链接的时候已经上报到服务器中心上报了一个自己的唯一设备号该链接对应token,其实是我们手机扫码的时候访问到了远程这个资源我们微信扫到这个链接的时候请求了远程,这样远程知道你是要在这个客户端id登录就实现了扫码登录。 另外一个实现例子
https://xluser-ssl.xunlei.com/xluser.core.login/v3/qrlogin?redirect_uri
Center Account Personal 客户端会提供client_id scope user_code三个参数被扫码的服务器端获取到。拿到这三个参数之后也就是扫码客户端再次向远程服务器发三个参数的请求被摄像头拿到这三个参数之后将本地软件上登录的token设备信息二维码的三个参数一起推送到另外一个决定扫码登录的链接。 先验证token和设备的权限是否通过检测如果通过可以根据客户的user_code 可以检查到客户端。如果是网页端的登录就是不断的发送当前的设备id一获取到登录返回的接口信息就跳转进入页面里面根据token获取登录客户的信息。这样就实现了扫码登录的逻辑功能。 所以如果是直接使用token登录因为登录时候的设备id是绑定了这个token的在完全无法获取设备id的时候直接使用token必然会异常。 小结:扫码的本质是通过摄像头解二维码变成参数然后将扫码得到的参数加上自己的授权token,向注册服务器注册然后得到信息后登录。