http://www.b.com/b_setcookie.php(设置cookie)
http://www.a.com/a_getcookie.php(查看生成的cookie)说明,调用b_setcookie.php时是通过域名www.b.com来访问了,而setcookie函数中生成的cookie的域名是.a.com,如果没有下面的p3p的header,则生成cookie会失败的。b_setcookie.php<script src="http://www.a.com/research/p3p/a_setcookie.php?id=www.b.com"></script>a_setcookie.php<?phpheader('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
setcookie("test", $_GET['id'], time()+3600, "/", ".a.com");
?>a_getcookie.php<?php
var_dump($_COOKIE);
?>通过javascript调用a.com中的文件来生成cookie的方式没有问题,
但是我采用socket的方式去访问a_setcooke.php把参数也闯过去了,为什么就不能成功呢?
也就是在b_setcookie.php
<?php
$fp = fsockopen();
$out = 'GET $path HTTP/1.0\r\n';
.........
fwrite($fp,$out);
........
?>
里面内容省略,socket访问没有问题,就是不会生成cookie,同样去访问b_setcookie.php,这里面有什么不同吗?
?>
?>
http://www.a.com/a_getcookie.php(查看生成的cookie)说明,调用b_setcookie.php时是通过域名www.b.com来访问了,而setcookie函数中生成的cookie的域名是.a.com,如果没有下面的p3p的header,则生成cookie会失败的。b_setcookie.php<script src="http://www.a.com/research/p3p/a_setcookie.php?id=www.b.com"></script>a_setcookie.php<?phpheader('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
setcookie("test", $_GET['id'], time()+3600, "/", ".a.com");
?>a_getcookie.php<?php
var_dump($_COOKIE);
?>通过javascript调用a.com中的文件来生成cookie的方式没有问题,
但是我采用socket的方式去访问a_setcooke.php把参数也闯过去了,为什么就不能成功呢?
也就是在b_setcookie.php
<?php
$fp = fsockopen();
$out = 'GET $path HTTP/1.0\r\n';
.........
fwrite($fp,$out);
........
?>
里面内容省略,socket访问没有问题,就是不会生成cookie,同样去访问b_setcookie.php,这里面有什么不同吗?
?>
?>
解决方案 »
- PHP 怎么将Unicode编码转换为中文字符
- php连接数据库后没输出 大侠们帮忙看看!
- 指点一下小弟。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- PHP 利用PDO操作SQlite 无法执行 WHERE IN () 请各位指教~
- 怎么使一个页面只能在框架内显示?
- 怎样用php导出eml格式文件?
- 提交按钮的onclick事件中怎样调用javascript函数
- 我用session传递对象时,提示有_handle_属性
- *****100分求救,关于在unix上用mail发邮件的问题。如何做?(分不够还可再加)
- php获取手机信息
- 菜鸟问题?????php + oracel
- 怎么判断php 连接 oracel是否成功!
//以下是我实际项目的,参考下吧。
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
setcookie('sid', $sid, 2000000000, '/', $_SERVER['HTTP_HOST']);