Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use localhost as the domain when setting an HTTP cookie?

I am using a jQuery plugin to set cookies and when I use localhost for the domain it will not store the cookie.

Here is the plugin I am using with jQuery 1.2.6.

http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/

Below is the code that I am using. You can see it does not like localhost, and I am running it from a development web server on localhost. One detail is that I am running off port 4005 but that should not affect the domain, AFAIK.

$(function() {

    console.log('Testing');

    var one = $.cookie('Test.One');
    var two = $.cookie('Test.Two');
    var three = $.cookie('Test.Three');

    console.log(['one', one]);
    console.log(['two', two]);
    console.log(['three', three]);

    $('#div1').text(one);
    $('#div2').text(two);
    $('#div3').text(three);

    $.cookie('Test.One', 'Test 1');
    $.cookie('Test.Two', 'Test 2', { path: '/' });
    $.cookie('Test.Three', 'Test 3', { path: '/', domain: 'localhost' });

});
like image 659
Brennan Avatar asked Jan 28 '09 21:01

Brennan


3 Answers

I had similar problem with setting cookies. Make up a domain name and add it to your hosts file as 127.0.0.1. Then run web application on that domain.

like image 119
empi Avatar answered Sep 25 '22 02:09

empi


I think the domain name of a cookie must have exactly two dots (not counting the final dot after the TLD). So .something.localhost is okay, .google.com is okay, but .localhost or google.com is not. But a glance at RFC 2965 suggests that it's more complicated than that... you might want to read that document, especially section 3.3 (and/or its precursor, RFC 2109).

like image 23
David Z Avatar answered Sep 26 '22 02:09

David Z


I updated the jQuery plugin to not add the domain to the cookie when it is localhost. That solves my problem without touching the hosts file.

var domain = (options.domain && options.domain !== 'localhost') ? '; domain=' + (options.domain) : '';
like image 12
Brennan Avatar answered Sep 26 '22 02:09

Brennan