Sarms (2)
2012/11/15 文字化けについて追記
前にこんなの書いてたんだけど、地元新聞に大きく取り上げられてたので、もう一度調べてみた。
Google してみるとこんなページがあった。
ちょっと中を追っかけてみます。
はじめに
今の最新版であればとりあえず動かしてみることは可能ですが、普段 Unix を触っていない人には難易度が高めです。
配布物にある設定ファイルは実物のものとは思えないので *1 あまり信用しない方がいいと思います。
付け加えると suexec とか必要あるとも思えないものがいっぱい load してあって危ない臭いがします。
コマンドラインに慣れてない場合、この機会に覚えてみたいという奇特な方以外は挑戦しない方が無難です。
前はなかった CREATE TABLE のスクリプトが追加されてる
http://forums.sarms.jp/topic/6
どうやら、同じファイル名のアーカイブの内容をそのまま新しいファイルに差し替えしてるみたいです。
リリースノート書いたりファイル名変えたりしないと変更されたってわからないでしょう。*2
Release It! 本番用ソフトウェア製品の設計とデプロイのために
- 作者: Michael T. Nygard,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2009/02/21
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 155回
- この商品を含むブログ (50件) を見る
これは失笑もの
http://forums.sarms.jp/topic/5
>1.[管理メニュー][インポート][組織情報]でインポート出来ません … インポート中にブラウザを閉じてしまうとレコードの削除が出来なくなってしまうため、
えーっと。ブラウザと対話しながらトランザクションこなしてるんでしょうか?
で、対話が途切れたらロックが残ってしまって操作できなくなる?
マスタ系のインポートなら許容範囲かもしれませんが。
2.[管理メニュー][保守][組織]の組織一覧に追加した組織情報が表示されません …
ユーザにやらせるような対応じゃない。これをみて何をすればよいか分かるユーザがいるのだろうか。
設定して動かしてみる
というわけで CREATE TABLE スクリプトが追加されたので動かしてみます。
ドキュメントは皆無なので端末などに出力されるエラーメッセージをよく読んだり print デバッグして適宜設定していきましょう。
エラーしたときもログファイルはありません。障害発生時はどうするつもりなのでしょうね。
さらにソースのあちこちにファイル path がハードコーディングされているので全て自分の環境に合わせて変更しましょう。30 箇所ぐらいあります。
postgres Database を設定する、大体のガイドラインは以下の通り。
過不足や変数、path は適当に補完してください。
PORT は 65432 で Listen してます。
initdb -U postgres --pwfile pass.txt -E utf-8 -D ${datadir} postgres -D ${datadir}
createdb -h localhost -p 65432 -E utf-8 -U postgres sarms createuser -h localhost -p 65432 -U postgres -S -D -R shisanadmin PAGER=cat psql -h localhost -p 65432 -f dump.sql -d sarms -U postgres PAGER=cat psql -h localhost -p 65432 -f dump_data.sql -d sarms -U postgres
そのほか chmod したりしないといけないかもしれません。
UI
思ったよりきれい。もっと古めかしい感じかと思ってた。
職員に見える、よく指摘される部分は丁寧に作ってますね。
入力項目や表示項目がやたらと多くて異常に横に長いのを除けば。
データ件数が多くなったときにはどれぐらい重くなるのだろう。
姓名の入力をスペースで分けるのとかはちょっと痛い。
Security
まだよくわかってないけど、単純な手法ではSQL インジェクション使ってログインすることはできないらしい。
ログイン画面以外の箇所は知らないけど、大した問題じゃなさそう。
2012/10/08 追記 ここには書かないけど、誰でもログインできるマスタパスワードありました。クラックするなんて考えたことないんで。。
相変わらず生パスワード使っているのでこちらは論外。
DB
台帳に IP アドレスを記録してるみたいけど、もしかして固定 IP で運用しているのだろうか。
mac address も持ってるように見えるからなんらかの複雑な紐付けをしてるのかもしれない。
文字化け
文字化け対策は環境依存なので、ここに書いたのを鵜呑みにしないほうがいいのですが、最近の環境であれば
/var/www/html/.htaccess ファイル
php_value mbstring.http_output UTF-8
/var/www/html/hcms/common.php ファイル
if(@$mobile == true){ /** 携帯 */ mb_http_output('SJIS'); }else{ /** PC */ mb_http_output(_CHARACTER_SET); }
することで PC の場合は大丈夫だと思います。携帯の場合はわかりません。