We need much more information before we can begin to debug this. When someone says they moved a site and cookies have broken, there are a couple of things that usually occur. Here's some typical code (using CGI.pm) to create and set a cookie:
my $cookie = $q->cookie(
-name => 'session',
-value => '123456',
-expires => '+1h',
-path => '/cgi-bin/admin/',
-domain => '.somehost.com',
-secure => 1);
print $q->header( -cookie => $cookie );
Here's what usually happens to screw that up.
- The domain is different or you're using an IP address which causes the cookie to fail. The cookie will only be returned if the domain specified matches. If your cookie domain is '.host.com' and the site is 'www.host.com', the cookie will be returned. If the cookie domain is 'www.host.com' and the site is 'host.com', you will get no cookie.
- The site gets reconfigured so that the path information is no longer the same. If /cgi-cin/admin/ is now /cgi-bin/management/ and that's the path specification, your cookies will not be returned.
- The secure switch is set, but the site is no longer running on SSL. I recently had an administrative console break because we moved the site and someone forgot to get an SSL certificate, so they just turned off SSL. My site breaking was a Good Thing.
If this doesn't answer your question, post the code that sets the cookie and the code that retrieves the cookie, along with relevant path and domain info.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|