[Fswiki-dev] Re: [ANN] ログイン状態の表示

Back to archive index

N.Katoh typer_jp****@yahoo*****
2005年 12月 18日 (日) 15:56:52 JST


加藤です。今更ではありますが。

On Tue, 13 Dec 2005 08:57:06 +0900
あき <attin****@kk*****> wrote:

> あきです。
> 
> > 竹添です。
> > 
> > Makamaka wrote:
> > > まかまかです。
> > > 
> > > 
> > >>- ログイン状態の表示
> > >> http://fswiki.poi.jp/wiki.cgi?page=BugTrack%2Dplugin%2F116
> > > 
> > > を3.5にコミットしました。
> > 
> > ありがとうございます。
> > 
> > > オリジナルのソースplugin::loginstate::LoginName、
> > > plugin::loginstate::LoginSatteでオプション指定
> > > された文字列中の'\@'を削除する処理があるのですが、
> > > 理由がわかりませんでした(コードは残してあります)。
> > 
> > うーん、なんででしょうねぇ。
> 
> サニタイズの一種だというのは何となく分かるのですが、具体的にどういった
> パターンを防ごうとしているのかがよく分かりません。
> この処理が必要なのだとすれば、同様の処理を他の機能でも行うべきなのでは?
> と気になります。

私もサニタイズかなとか色々考えたんですが、一番しっくりくるのは、
 s/\\(\\|\?)|(\\\@)|(\?)/
というのはtypoで、
s/\\(\\|\?)|(\\)|(\?)/
というのが正しくて、"\"によるエスケープ処理かなと。

で、それが正しいのなら、この部分はもう少し簡単にできて、
$val =~ s/\\(.)|\?/$1 ? $1 : $name/ge;
で良いと思います。行末に"\"がある場合に動作が異なりますが。

#エスケープ処理って難しいですね(笑)
-- 
typer <typer_jp****@yahoo*****> like perl,
  stay FreeBSD  http://freebsd.g.hatena.ne.jp/TransFreeBSD/
  use  fswiki   http://aaa-www.net/~typer/cgi-bin/wiki.cgi/diary
and named Noboru Katoh <typer****@chive*****>



Fswiki-dev メーリングリストの案内
Back to archive index