MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          PKI筆記

          Posted on 2009-03-18 02:35 leekiang 閱讀(354) 評論(0)  編輯  收藏 所屬分類: sso
          PKI是解決開放式互聯網絡信息安全需求的成熟體系。PKI體系支持身份認證,信息傳輸、存儲的完整性,消息傳輸、存儲的機密性,以及操作的不可否認性。



          一個用jsp開發的web應用,使用了session作為sigle sign on的實現。在用firefox瀏覽時沒有問題,用IE 6瀏覽時剛開始也可以,點過幾次后就會出現session lost的錯誤。

          檢 查發現IE6瀏覽時,web服務器端日志記下的sissionid變了。由于sessionid一般存在于cookie,推測是IE的cookie機制導 致的問題??紤]到這個應用使用了frameset,參考文章:http://support.microsoft.com /default.aspx?scid=KB;EN-US;Q323752

          在frameset里面,也就是里面的frame是來自第三方 站點(不同IP或不同域名),那么默認情況下IE會自動禁用這些站點的cookie,也就是 在請求某url時在HTTP header里不發送它們的cookie,包括session的cookie。注意,這些站點在response里面設置的cookie還是會被發送到瀏 覽器的。

          那么,解決的辦法,自然是對frame里面的第三方站點的response header里面添加一個確認信息,在MSDN里面有個最簡單的解決辦法:response.addHeader("P3P","CP=CAO PSA OUR")。response.setHeader("P3P","CP=CAO PSA OUR");

          最簡單的辦法,是用一個filter,對所有路徑下的uri,都設置response.setHeader("P3P","CP=CAO PSA OUR")。

          上面是microsoft提供的辦法,以下是likebao的辦法:tomcat關閉cookies,用URL重寫傳遞sessionid。

          1.tomcat關閉cookies,強制使用URL Rewriting

          增加E:\jakarta-tomcat-5.0.28\conf\Catalina\localhost\XXApp.xml

          內容如下:

          <Context path="/XXApp" docBase="${catalina.home}/webapps/XXApp"
          ??????? debug="0" privileged="true" cookies="false">
          </Context>

          2.URL重寫傳遞seesionid

          ??? <%

          ??? ??? ??? String sid=session.getid();

          ??? ?? ?? ?? response.redirect("xxxx123.jsp;jsessionid="+sid);

          ??? %>

          p3p是微軟的隱私策略,通常情況下跨域iframe或者frameset默認采用的隱私策略為“中”,該級別的策略拒絕保留session。CAO PSA OUR則意味著你同意跨域保留session,但是也意味著你的網站不再安全。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          相關文章:
           
          主站蜘蛛池模板: 兴隆县| 昌图县| 黎城县| 夏津县| 永川市| 呼玛县| 游戏| 清丰县| 兴海县| 西昌市| 天镇县| 红安县| 平南县| 洪洞县| 新沂市| 宜城市| 揭阳市| 东兰县| 班戈县| 自治县| 岳阳市| 绩溪县| 东海县| 彰化县| 黎平县| 海晏县| 台前县| 西乌珠穆沁旗| 文成县| 邯郸县| 封开县| 福清市| 金阳县| 扎兰屯市| 子洲县| 白沙| 青岛市| 丹巴县| 延庆县| 象山县| 武夷山市|