| そうですか、もしかすると環境の違いによるものかもしれませんね。 それではcookieをエンコードして保存→デコードして取り出すという方法を試してみてください。
以下のように改造してください。 先ずはエンコード部分です。cbbs.cgiの1543行目付近に
if($SEL_C){$Csel=",sel:$sel";}else{$Csel="";} if($TXT_C){$Ctxt=",txt:$txt";}else{$Ctxt="";}
がありますので、その直ぐ下に以下を挿入します。
$cook_name = $name; $cook_name =~ s/([^\w\=\& ])/'%' . unpack("H2", $1)/eg; $cook_name =~ tr/ /+/;
そして直ぐ下に
$cook="name\:$name\,email\:$email\,url\:$url\,delkey\:$delkey\,pub\:$FORM{'pub'}\,ico\:$CICO\,font\:$font\,hr\:$hr$Csel$Ctxt";
がありますので、ここを以下のように修正します。
$cook="name\:$cook_name\,email\:$email\,url\:$url\,delkey\:$delkey\,pub\:$FORM{'pub'}\,ico\:$CICO\,font\:$font\,hr\:$hr$Csel$Ctxt";
次はデコードです。 cbbs.cgiの1577行目付近を以下のように修正します。
if($SEL_C){$c_sel=$COOKIE{'sel'};} if($TXT_C){$c_txt=$COOKIE{'txt'};} } $c_name =~ s/\+/ /g; ##これ追加 $c_name =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg; #これ追加 }
これで修正は終わりです。
|