哦,呵呵,是否我问题没说明白呢? 我现在想要的结果是打开一个新页面,输入url是需要登入验证的。可现在不需要验证就进去了,因为我从存储session_id的文件中得到了session_id。可如果不从文件中取得session_id就无法跨域使用session了

解决方案 »

  1.   

    你的做法是错误的!1、你可以通过url参数传递session_id
    2、如果用cookie传递的话,必须设置相关的域互为信任域。也就是说:你解决了跨域的cookie了,跨域的session就解决了。而跨域的cookie解决方案在网上可以搜索到
      

  2.   

    我现在是利用cookie可以跨域访问。因为我的不同域名都是基于wap200088.com这同一个域下的子域,所以我用以下可以跨域访问。
    define("DOMAIN_NAME",".wap200088.com");
    setcookie("USERID",$username,time()+2628000,"/",DOMAIN_NAME);
    现在问题是:打开一个新IE如如果用户输入aa.wap20088.com/pass/union.php 不用登入就进入了。因为它也是来自wap20088.com这个父域,所以,请问,如果打开新页面访问如何强制性登入?
      

  3.   

    你并没有真正理解cookie跨域的含义
    如果你的cookie是可以跨域的
    那么在aa.wap20088.com中设置的cookie就可以在bb.wap20088.com上看到
    同样用cookie传递的sessionid也就可以出现在aa.wap20088.com和bb.wap20088.com,并不需要在做额外的处理
      

  4.   

    一直没有实际操作过这个事情,所以说得并不准确。
    刚才测试了一下,其实非常简单只需设置php.ini中的session.cookie_domain即可对于你的情况,令
    session.cookie_domain = wap20088.com
    就可以了
      

  5.   

    哦,明白了,
    可是,这样子的话,如果我打开一个新IE ,地址栏中输入aa.wap20088.com 或bb.wap20088.com 底下的所有文件就不需要通过验证了?如果我不全部关闭浏览器的话可现在是在打开一个新IE窗口输入aa.wap20088.com 或者bb.wap20088.com底下的文件都需要再次输入用户和密码验证呢。请问这如何解决呢?比如我有一个check.php文件<?
    $sid=trim(substr($_COOKIE["SIDS"],10));
    session_id($sid);
    session_start(); if(!isset($_SESSION['username'])){
    echo "<script language='javascript'>"; 
            echo "alert('请重新登入!');";
            echo "parent.location.href='http://aa.wap20088.com/manage/index.php?flag=1'";
            echo "</script>";

    ?>在每个文件开头都包含这个check文件在aa.wap20088.com底下有个链接为 http://bb.wap20088.com/stat/union.phpunion.php文件开头也包含了check.php这个文件。如果我设置cookie为跨域的,那么当我打开一个新IE窗口,输入 http://bb.wap20088.com/stat/union.php 直接就进去了,我现要的结果是在新窗口中输入这个url 需要重新验证。不知我是否描述清楚:)))
    请高手帮忙指点!
      

  6.   

    1、设置session.cookie_domain = wap20088.com
    2、check.php改为
    <?
    session_start();if(!isset($_SESSION['username'])){
      echo "<script language='javascript'>"; 
      echo "alert('请重新登入!');";
      echo "parent.location.href='http://aa.wap20088.com/manage/index.php?flag=1'";
      echo "</script>";

    ?>
    3、登陆成功后设置$_SESSION['username']
    即可
      

  7.   

    多谢唠叨!还请问:session.cookie_domain = wap20088.com
    我如果设置成这样了,那么如果我还有其他的域需要使用cookie会不会有影响呢?比如我还有一个域为aa.qw.to能否不修改配置而实现呢?
      

  8.   

    按照唠叨 修改配置,然后在wap20088.com下可以实现我想要的功能。
    可是,如果我还有其他的域名使用cookie,比如aa.qw.to 使用就不可以了,