posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          摘抄: Cookie跨域操作

          Posted on 2011-04-07 11:57 云云 閱讀(3645) 評論(2)  編輯  收藏
          正常的cookie只能在一個應用中共享,即一個cookie只能由創建它的應用獲得。
          1.可在同一應用服務器內共享方法:設置cookie.setPath("/");
          本機tomcat
          /webapp下面有兩個應用:cas和webapp_b,
          1)原來在cas下面設置的cookie,在webapp_b下面獲取不到,path默認是產生cookie的應用的路徑。
          2)若在cas下面設置cookie的時候,增加一條cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設置的cookie了。
          3)此處的參數,是相對于應用服務器存放應用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夾下的所有應用共享cookie,而cookie.setPath("/webapp_b/");是指cas應用設置的cookie只能在webapp_b應用下的獲得,即便是產生這個cookie的cas應用也不可以。
          4)設置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的時候,只有在webapp_b/jsp下面可以獲得cookie,在webapp_b下面但是在jsp文件夾外的都不能獲得cookie。
          5)設置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,這樣就不可以在產生cookie的應用cas下面獲取cookie了
          6)有多條cookie.setPath("XXX");語句的時候,起作用的以最后一條為準。
          6)設置多個path的方法???



          2.跨域共享cookie的方法:設置P3P

          轉載如下:

          今天在w3網站上看到了一篇介紹p3p的文章(http:
          //www.w3.org/TR/P3P/),利用這個可以實現跨域訪問cookie,我也試驗一下。
                其實很簡單:試驗用了2個域名readlog.cn和diaor.com

                首先在readlog.cn下放置一個文件setcookie.php 內容:  

          PHP代碼
          <?php   
               header(
          'P3P: CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"');//p3p   
               setcookie("TestCookie","test",time()+3600,"/",".readlog.cn");//設置cookie   
          ?>  
               再放置一個readcookie.php 內容:

          PHP代碼
          <?php   
          echo $_COOKIE[
          "TestCookie"];   
          ?>  
          然后在diaor.com下放置setcookie.php ,內容:

          JavaScript代碼
          <script src="http://www.readlog.cn/setcookie.php"></script>  
          然后訪問http:
          //www.diaor.com/setcookie.php 抓取數據包可以發現,在readlog.cn域下生成了一個cookie ,名稱是TestCookie,值是test

          下面訪問http:
          //www.readlog.cn/readcookie.php 來驗證一下,可以發現,cookie確實設置成功了。

          有興趣可以去掉header(
          'P3P: CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"');這句,試一下就會發現cookie能設置,但是在readlog.cn讀不到這個cookie。

          評論

          # re: 摘抄: Cookie跨域操作  回復  更多評論   

          2016-01-27 17:18 by 23
          123

          # re: 摘抄: Cookie跨域操作  回復  更多評論   

          2016-01-27 17:19 by 23
          @23
          魏都大道

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


          網站導航:
           
          主站蜘蛛池模板: 佛教| 乃东县| 乐都县| 罗甸县| 丹江口市| 太和县| 新安县| 兰坪| 辽宁省| 淮南市| 安远县| 金寨县| 油尖旺区| 五台县| 筠连县| 南乐县| 子洲县| 离岛区| 岳池县| 和龙市| 伊宁县| 伊宁市| 巩义市| 新河县| 来宾市| 鸡东县| 鄂州市| 鄂托克前旗| 贵德县| 南和县| 东港市| 大渡口区| 墨玉县| 桐乡市| 揭西县| 精河县| 拉孜县| 商南县| 林周县| 黄冈市| 温州市|