|
■ あけび(管理者) ■ 2003/8/14 (木) 14:36:08 |
|
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) |
| 配布版では未対応ですが、このサポートBBSでは、
cyclamen.cgi中
if($email) { $name = "<a href=\"mailto:$email\">$name</a>";}
を
if($email) { $name = sprintf("<a href='JavaScript:void(0)' onClick='mt(%s)' target='_self'>%s</a>",&c_enc("mailto:$email"),$name);}
に変更
$COOKIE{'nf'} || print "<base target=CY_INDEX>\n";
の後ろに
print <<__JS__;
<script language="JavaScript">
<!--
function mt(args) {
var s='';
for(i=0;i<mt.arguments.length;i++){
s+=String.fromCharCode(mt.arguments[i]);
}
location.href=s;
}
//-->
</script>
__JS__
を追加
__END__
の前に
sub c_enc {
local($s) = @_;
$s =~ s/(.)/ord($1).","/eg; chop($s);
$s;
}
を追加
という方法を使って、mailto:を含めて、メールアドレスの文字列はキャラクターコードに変換して書き出すようにしています。
'@'や'.'のみを文字参照に変換するよりは有効かと思います。
|
|
|