Perl – 笔记之Cookie
实际中遇到的情况,存储和读取cookie。记录一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
#存储cookie my @cookie = ("user=$user","pwd=$password","ip=$ENV{REMOTE_ADDR}","datetime=$time","type=user_l","userid=$id"); &setcookie_login(@cookie); #读取cookie my %cookie = &getcookie_login;#获得cookie my $sql_where = " user_id=".$cookie{'userid'}." and status=1";#显示当前用户下没删除的记录 #存储cookie sub setcookie_login { #需要修改domain参数 my @array = @_; my $i = 0; my $expires = &generateExpire(60); foreach my $key (@array) { my ($name,$value) = split(/\=/,$key); if ($name ne "datetime") { $name = &strcrypt($name,'en'); $value = &strcrypt($value,'en'); } #$expires print "Set-cookie:$name=$value; path=/cgi-bin/;domain=1.1.1.1;\n"; } } #读取cookie sub getcookie_login { my $cgi_cookie = $ENV{HTTP_COOKIE}; if(defined $cgi_cookie){ $cgi_cookie =~ s/\s+//g }else{ $cgi_cookie =""; } my @array = split(/\;/,$cgi_cookie); my %cookies; #print "Content-type: text/html \n\n"; foreach my $key (@array) { my ($name,$value) = split(/\=/,$key); if ($name !~ /[^0-9\_]/) { $name = &strcrypt($name,'de'); $value = &strcrypt($value,'de'); } $cookies{$name} = $value; } #exit(); return %cookies; } |