首页 > 试题广场 >

百度是一个大型网站,内部含有多个产品线,比如广为人知的贴吧、

[问答题]
百度是一个大型网站,内部含有多个产品线,比如广为人知的贴吧、知道、空间等应用。然而设计这些应用的统一登录平台却是一件非常艰巨的挑战。需要考虑到通用性和安全性。
1)     对于一个Web应用程序,主要的身份验证和凭证保持的方法主要有cookie和session两种。他们又是如何起作用的?各有哪些优缺点?
2)     影响到cookie值作用范围的因素有哪些?请一一说明。
3)     从安全角度来考虑,一个大型网站的单点登录可能会引入哪些安全问题?如何设计安全的在线单点登录系统?
* 对于一个Web应用程序,主要的身份验证和凭证保持的方法主要有cookie和session两种。他们又是如何起作用的?各有哪些优缺点?
        - cookie
            + 起作用
                * 保存在客户端, 浏览器内存
            + 优点
                * 实现方便
                * 性能
            + 缺点
                * 数量和长度的限制
                    - 每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
                * cookie不是很安全
                    - 可以分析存放在本地的cookie并进行cookie欺骗
                    - 有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它可能被修改。
        - session
            + 起作用
                * 保存在服务器文件
                * 依赖 session id, 而 session id 是存在 cookie 中的(但是可以通过其它方式实现,比如在 url 中传递 session_id)
            + 优点
                * 长度
                * 安全
            + 缺点
                * 性能问题
    * 影响到cookie值作用范围的因素有哪些?请一一说明。 
        - ref: http://blog.csdn.net/john2522/article/details/39324493
            + Cookie 的 Path 属性
                * 把 Cookies 的作用范围限制到服务器的目录,从而允许你把 Cookies 限制到网站的某个应用程序。
            + Cookie 的 Domain 属性
                * 默认时,Cookies 是与特定的域相关联的。 Cookie 的 Domain 属性可以限制 Cookie 的域范围
    * 从安全角度来考虑,一个大型网站的单点登录可能会引入哪些安全问题?如何设计安全的在线单点登录系统?
        - 安全问题
            + cookie 泄漏影响所有子站
            + 单点故障造成整个系统瘫痪

编辑于 2018-01-07 11:16:24 回复(0)
xxj头像 xxj
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。  默认时,网站的所有 Cookies 都一起被存储在客户端,并且所有 Cookies 连同网站的任何请求一起被发送到服务器。换句话说,网站中的每个页面都能够为网站获取所有的 Cookies。但是,你能够通过两个方式来设置 Cookies 的作用范围:        把 Cookies 的作用范围限制到服务器的目录,从而允许你把 Cookies 限制到网站的某个应用程序。 设置域的作用范围,能够允许你指定域中的哪些子域能够访问 Cookie。 把 Cookies 限制到目录或应用程序 要把 Cookies 限制到服务器的目录,请设置 Cookie 的 Path 属性
1.超时问题;
2.jsessionid问题;
3.单点退出时有时子系统未能正常退出;
4.有些请求路径不需要单点登录过滤器拦截;
5.不同应用服务实现可能要求SSO客户端做适应性改造。
发表于 2014-12-11 11:39:40 回复(0)