• SSO单点登录


    单点登录:一个登陆,所有网站都可以使用,验证客户端cookie来登陆系统。

    cookie安全问题

    跨域设置cookie

    名词介绍:

    公钥加密:
    所有人都可以对文本进行加密,但是只有本人才能解开。 不让别人看到这个数据,比如这个数据是艳照。隐私等。

    数字签名:
    自己加密,所有人可以看到里面的信息,并且知道这个信息是我发出的。声明所有权。

    传统的cookie和session登陆

    session保存在服务器一段时间,可以存储指定客户端的信息。使用和存储方式是 $_SESSION.
    PHP开启session,cookie会有唯一的SESSION_ID。服务器可以根据这个SESSION_ID来区分是那个用户的请求,找到这个用户存在SESSION里面的东西,然后根据这个给用户推送符合他用户习惯的东西,比如说这个用户的权限信息。
    cookie禁用了怎么办,提示session_id($_GET[sessionname()]
    

    安全问题:

    cookie不安全,可以加数字签名解决。获取sso单点系统公钥加密,让应用验证。加密的信息可以包含:appid,生效时间戳,以及和应用约定的特定字符串。

    一种方案:用户请求网址,如果没有就请求sso单点系统,单点系统给所请求的应用分配 ticket(cookie 里面的 session_id)。
    第二种:用户请求单点系统,单点系统给所有的应用加上ticket,如果服务器压力不大,用ticket申请权限

    问题:因为用户不会停留在单点系统(页面关闭,cookie消失),会不会存在频繁登陆sso系统的情况?
    答:后台可以设置过期时间。15分钟左右。

    问题:权限是不是暴露在外名了?
    答:分配权限只分配合理的ticket。具体的权限验证存到cache中。

    问题:ticket不安全?
    答:保存在服务器中。

  • 相关阅读:
    phpexcel Could not open for reading! File does not exist.
    tp5 微信JSAPI支付
    ajax返回数据不跳success
    tp5 paginate带参翻页
    php 小程序 前后端POST通信
    小程序页面跳转不同方法
    小程序添加购物车
    小程序商城数量加减效果
    Include conf/extra/httpd-ssl.conf apache 无法启动
    SQL 实验详细源码参考
  • 原文地址:https://www.cnblogs.com/canbefree/p/5217711.html
Copyright © 2020-2023  润新知