我在perl上編寫了一個http會話管理器,會話管理器必須向用戶瀏覽器寫入cookie,當我在firefox 4上測試它時,它工作正常,並且cookies被寫入瀏覽器,chrome和IE似乎拒絕cookies出於某種原因,我做了一個invistagation,但沒有用,我的餅乾看起來是這樣的:Perl cookie問題
套裝 - Cookie:session=nSwbgFp5suScOMjmDMVNxv4EQLJpDat7YanRJGfM3hrvbjCCprUvocU4HxiR4Tk_VUAV6hE68zlriRvX0CeC4Ytk1DJc8IhCn_4C;expires=Sat, 14-May-2011 10:10:56 GMT
東西我發現,如果我配置餅乾1天到期。它適用於所有瀏覽器,但一個小時它不適用於IE和Chrome。 如果任何人有關於如何嗅探在IE瀏覽器或鉻瀏覽器的想法,讓我知道。我不是說使用網絡嗅探器。因爲我確信cookie發送給瀏覽器。我的意思是與瀏覽器相關的東西。
在此先感謝。
my ($key, $value) = @_;
my (@cookies, $k, $v, $r, $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
my @chars = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '_');
my @weekday = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
my @month = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
$r = '';
foreach (1 .. 100) {$r .= $chars[rand @chars]}
## Calculate the expiration date of the session
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time() + $::session_life);
$year = $year + 1900;
$mon = $month[$mon];
$wday = $weekday[$wday];
## Generate cookies
print("Set-Cookie:$::session_cookie_name=$r;" . "expires=$wday, $mday-$mon-$year $hour:$min:$sec GMT;\n");
顯示一些展示問題的最小代碼,以便感興趣的人可以自己重現它。 – daxim 2011-05-17 06:30:48