ホーム
ヘルプコンタクトサイトマップ

Keyword Child Tree cbbs クッキー cookie

名前やURLに = が含まれると「クッキーが保存されない」への対策

UPDATE : 2007/12/15

ChildTreeで名前やURLに = が含まれていたりすると = 以降の文字列がcookie(クッキー)に保存されないことがあります。
これへの対策はcookieデータ保存時にURLエンコードし、逆にcookie読み込み時にはURLエンコードされたcookieデータをURLデコードする必要があります。

cbb.cgiの1544行目
if($SEL_C){$Csel=",sel:$sel";}else{$Csel="";}
if($TXT_C){$Ctxt=",txt:$txt";}else{$Ctxt="";}
# URLエンコード $FORM{'name'} =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; $FORM{'url'} =~ s/^http\:\/\///; $FORM{'url'} =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
$cook="name\:$FORM{'name'}\,email\:$email\,url\:$FORM{'url'}\,delkey\:$delkey\,pub\:$FORM{'pub'}\,ico\:$CICO\,font\:$font\,hr\:$hr$Csel$Ctxt";

cbbs.cgiの1568行目

	@pairs = split(/,/,$DUMMY{'CBBS'});
	foreach $pair (@pairs) {
		($name, $value)= split(/:/, $pair);
		# URLデコード
		$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
		$COOKIE{$name} = $value;
	}

一般的に名前やURLに = が含まれることは殆どありません。もし名前やURLに = が含まれるという方のみこの修正を行ってください。またこの修正を行うことで処理に余分な負荷がかかりますので現状に問題がなければ修正の必要はありません。
PageTop
◆このページの感想・ご意見などお気軽にお寄せください。(全角40文字まで)
お名前 コメント 削除キー
 

記事No: 削除キー

MiniLog Ver1.21
Copyright© WebCraft All Rights Reserved.
http://www.sippu.com  Since:9.13.2002