Cookies cannot be installed in IE?
I have the following code in website1.com:
<script type="text/javascript">
document.cookie = "qwe=1";
alert(document.cookie);
</script>
and website2.com contains:
<iframe src="http://website1.com"></iframe>
When I open the website2.com page in IE, it warns an empty line (if there were no cookies before).
Other browsers warn "qwe = 1".
So the question is why and how to get around this?
This is about security in IE.
If you want to allow access to cookies in IFRAME, you must set the HTTP header as follows:
ASP.NET:
HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
JSP:
response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")
PHP:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
cookie document.cookie, ( ) pageload. , document.cookie , pageload ( , document.cookie cookie, document.cookie , ).
IE9 , . LOT. , , . , , cookie . PHP, :
<?php
function setRealCookie( ... ) {
setcookie( ... );
$_COOKIE[...] = ...;
}
?>
JavaScript , cookie , , cookie . - :
(cookies = {
data: {},
init: function() {
var c = document.cookie.split(";"), l = c.length, i, t;
for( i=0; i<l; i++) {
t = c[i].split("=");
cookies.data[t.shift()] = t.join("=");
}
},
read: function(key) {
return cookies.data[key];
},
set: function(key,value) {
document.cookie = key+"="+value;
cookies.data[key] = value;
}
}).init();
cookie cookies.set("qwe","1"); cookies.read("qwe");.