session跨域问题 哦,呵呵,是否我问题没说明白呢? 我现在想要的结果是打开一个新页面,输入url是需要登入验证的。可现在不需要验证就进去了,因为我从存储session_id的文件中得到了session_id。可如果不从文件中取得session_id就无法跨域使用session了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的做法是错误的!1、你可以通过url参数传递session_id2、如果用cookie传递的话,必须设置相关的域互为信任域。也就是说:你解决了跨域的cookie了,跨域的session就解决了。而跨域的cookie解决方案在网上可以搜索到 我现在是利用cookie可以跨域访问。因为我的不同域名都是基于wap200088.com这同一个域下的子域,所以我用以下可以跨域访问。define("DOMAIN_NAME",".wap200088.com");setcookie("USERID",$username,time()+2628000,"/",DOMAIN_NAME);现在问题是:打开一个新IE如如果用户输入aa.wap20088.com/pass/union.php 不用登入就进入了。因为它也是来自wap20088.com这个父域,所以,请问,如果打开新页面访问如何强制性登入? 你并没有真正理解cookie跨域的含义如果你的cookie是可以跨域的那么在aa.wap20088.com中设置的cookie就可以在bb.wap20088.com上看到同样用cookie传递的sessionid也就可以出现在aa.wap20088.com和bb.wap20088.com,并不需要在做额外的处理 一直没有实际操作过这个事情,所以说得并不准确。刚才测试了一下,其实非常简单只需设置php.ini中的session.cookie_domain即可对于你的情况,令session.cookie_domain = wap20088.com就可以了 哦,明白了,可是,这样子的话,如果我打开一个新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 需要重新验证。不知我是否描述清楚:)))请高手帮忙指点! 1、设置session.cookie_domain = wap20088.com2、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']即可 多谢唠叨!还请问:session.cookie_domain = wap20088.com我如果设置成这样了,那么如果我还有其他的域需要使用cookie会不会有影响呢?比如我还有一个域为aa.qw.to能否不修改配置而实现呢? 按照唠叨 修改配置,然后在wap20088.com下可以实现我想要的功能。可是,如果我还有其他的域名使用cookie,比如aa.qw.to 使用就不可以了, php页面空白 windows7 下xampp安装runkit失败 怎么用自己的硬盘当空间网站啊? php自动扣费,在线等待 高手们进来看看这个问题怎么弄? 没有ftp_nb_continue(),ftp_nb_fput还能完整上传文件吗? php session 问题 请大家帮忙------------系统 Mandrake10.1 帮我看看这个下载程序错在哪儿?在线等着您!!! 如何使用Php中的exec()函数 给个PHP+MySQL论坛吧 -------有这样的控件可以使用吗? 如何把把table到入到excel??
2、如果用cookie传递的话,必须设置相关的域互为信任域。也就是说:你解决了跨域的cookie了,跨域的session就解决了。而跨域的cookie解决方案在网上可以搜索到
define("DOMAIN_NAME",".wap200088.com");
setcookie("USERID",$username,time()+2628000,"/",DOMAIN_NAME);
现在问题是:打开一个新IE如如果用户输入aa.wap20088.com/pass/union.php 不用登入就进入了。因为它也是来自wap20088.com这个父域,所以,请问,如果打开新页面访问如何强制性登入?
如果你的cookie是可以跨域的
那么在aa.wap20088.com中设置的cookie就可以在bb.wap20088.com上看到
同样用cookie传递的sessionid也就可以出现在aa.wap20088.com和bb.wap20088.com,并不需要在做额外的处理
刚才测试了一下,其实非常简单只需设置php.ini中的session.cookie_domain即可对于你的情况,令
session.cookie_domain = wap20088.com
就可以了
可是,这样子的话,如果我打开一个新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 需要重新验证。不知我是否描述清楚:)))
请高手帮忙指点!
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']
即可
我如果设置成这样了,那么如果我还有其他的域需要使用cookie会不会有影响呢?比如我还有一个域为aa.qw.to能否不修改配置而实现呢?
可是,如果我还有其他的域名使用cookie,比如aa.qw.to 使用就不可以了,