Lightweight Languageの最近のブログ記事

2010年2月27日
| コメント(0) | トラックバック(0) 何故Crypt::SaltedHashを使いたかったのか

Crypt::SaltedHashを知ったのは、Casual Track - JPerl Advent Calendar 2009でした。
MD5の逆引きについては、一応知っていたのですが、対応については深く考えていませんでした。
でも、手軽に出来るのであればやらない理由はありません。
あ、cpanが使えない場合でも、ファイルをコピーするだけで使えます。
素晴らしいですね。

データベースを使った簡単な掲示板もできたので、ユーザー登録出来る掲示板を作ろうと思った。
折角なので参考になるようなモジュールをCPANで探してみようと思った。
そうしたら出るわ出るわ。
Catalystのプラグインが多いこと。

小さな事からコツコツと。

ということで、nopasteのデータベース使用版とログイン不要の一行掲示板を作ってみた。

Yacafiのソースを読んでいたら気づいてしまった。

my $CRLF  = "\r\n";

CRLFの定義って重要だね。

CGIのヘッダーを自力で出力していたときに気にした記憶があった。

\nは環境依存なので、\015\012とか使った方がいい

Charsbarさんの言うとおりでしょうね。
NanoAのextlibにも入っているCGI::Simpleでは、改行コードをOSに応じて定義しているようです。

パスワードの要求画面では相変わらずエラーが出ているのだが、パスワードを入れると(XREAの環境では)ログイン出来るようになっていた。
しかし、ローカル環境では、未だにログインできず。

ローカル環境では、パラメータを直接書き込んでログインしたことにすれば、$app->is_adminはちゃんと認識してくれる。
それと、何故かログアウトはちゃんと動く。
sessionまわりの挙動がかなり謎。

admin.pmの中では同じようにredirectしているように見えるんだけど…。
何が違うんだろうか?

NanoAの話ですが。
オフィシャルのcompile_errorはちゃんと動作するのだが、XREAではcompile_errorは動かない。
まあ、XREAはよいとしても、ローカル環境でも動かないのがとてもつらい。
CGI::ExceptionManagerがちゃんと働いていれば、コンパイル時のエラーも補足してくれるはずなのだが…。

と、思ってソースを見ていると、原因っぽいところがわかりました。

NanoAについては、ローカル環境で色々と試行錯誤しているわけだが、元々のサンプルを参考にしたいので、できるだけ元の状態を保っておきたいと思っているのだが、なかなか思うように行かない。
で、ソースを読んでいたら、appディレクトリの下にindexというディレクトリを作ってやれば、そちらを読んでくれそうだったので試してみた。

NanoAで便利だと思ったのは、フォームを作成するときに使っているHTML::AutoFormだ。
CPANにあるのかと思ったら、なかった。
codereposで管理されているモジュールだった。

フォームの定義をしておくと、HTMLを生成したり、投稿された内容をチェックしたりできる。
その定義が簡単に出来るのがすごい。

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

Google検索

Last.fm

このアーカイブについて

このページには、過去に書かれたブログ記事のうちLightweight Languageカテゴリに属しているものが含まれています。

前のカテゴリはLifeです。

次のカテゴリはPersonです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type