一年と少し前にブームになったMENTA、NanoA、Yacafiの軽量WAFのなかで、今の時点で最も動かしやすそうなNanoAを少しずつ触ってみることにした。


とりあえず、プラグインがちゃんと動いてくれるのかを確かめようと思ったのだが、なかなかうまく動かない物がある。
Windows上でもサーバー上でも動かないのは、管理モードだ。
サーバ上では以下のようなエラーが発生する。

you should call HTTP::Session->finalize method manually

ちゃんと追えばわかるのかもしれないが、とりあえず放置。
(HTTP::SessionのDESTROYの時にstoreされていない、というのが原因っぽいのだけど…。)
パスワードは合っているのに、「ログインしています」に変わらない。
なので、perl-nanoa-managerも使えない。
あとは、細々としたことだが、例えば、モバイルモード。

実行例: 「あなたのブラウザは NonMobile です」

これは、サブルーチンのredefinedで警告される。
まあ、これについては、一行目の

1
? use plugin::mobile;

を削除すれば警告は消えるのだが。
ちゃんと動いているのかは不明。
(まあ、プラグインから解説ページを呼び出しているので二重読みになっているのだろうと推測)
あと、podについては、raw_stringになっていない箇所があった。
等々。
時代はPSGI/Plackだというのに、今更何をやっているのかとも思いますが。
まずは、軽量WAFというハードルを超えていかなければ!
…と、目の前の断崖絶壁を見て途方にくれている今日この頃です。
NanoA等のほぼ一年前にはやった和製軽量WAFについては、初心者向けの資料があまりありません。
一年ほど前に、kansai.pmに出席したときから状況があまり変わっていませんが、そんな中で非常に参考になるNanoAについての情報を見つけましたので、自分のためにもおいておきます。
これを参考にして、生きたプログラムを作ろう。


SEE ALSO



  • Perlメモ/NanoA - Walrus, Digit.