document.cookie = "qwe=1"; aler...">

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?

+5
source share
2 answers

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"');
+5
source

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");.

+1

All Articles