| 第59回 失敗は成功のマザー 〜セキュリティ編〜、カスタムWebための新スタイルのフレームワーク「INTER-Mediator」 |
| ・開催日時:2010/05/15 18:00-19:30 |
・開催場所:Apple Store Ginza 3F シアタールーム
|
概要:
好評のシリーズ「失敗は成功のマザー」第4弾はセキュリティ編。今回はセキュリティにまつわる「ありがち」な失敗の例を元に、くすぶっていたあなたの疑問をすっきり解消します。さらに、新居雅行氏よりカスタムWebための新スタイルのフレームワーク「INTER-Mediator」をご紹介します。HTMLページがそのままデータベースと連動するという、FileMaker界にありそうでなかった驚愕のフレームワークをお見逃しなく!
|
レポート:
忙しくてへばっている。4月に7回、5月に4回の完徹。そんな中、目下の最大の悩みは「いつまで経っても作るモノが垢抜けない...」ことに尽きる希ガス。 いろいろ聞いて仕込んでみても蓋を開けばイマイチの無限ループ。イマイチが次のイマニ・イマサンを呼び、さながらデフレスパイラルの如し。 そんな中、唯一の楽し(そうな)話と言えば、v9→11の更新申請が通りますた。見掛けの金額を圧縮するためにサーバの申請は戦略的に見送りました。そちらは近々別拠点に商売用のFMSを1台設置する案件があり、具体化すれば会社にとってあっさり新規購入する他に選択肢はないのだ。さて、今更ながら数々の新機能を試してやろうじゃないの。 ...時間を取られ本業がますますイマイチになりそうな予感。
第59回 FileMaker Fun Night!「最新Tips連発大会」 お題は... ・カスタムWebための新スタイルのフレームワーク「INTER-Mediator」 ・恒例Tips対決! ・失敗は成功のマザー〜セキュリティ編〜
●【特集1:カスタムWebための新スタイルのフレームワーク「INTER-Mediator」】(新居雅行さん) さて、著書多数、超認知度の新居雅行さんによるカスタムweb向け新フレームワークの紹介だ。 私の場合は、この話を聞くために来たようなもんである。なにしろHTMLがそのままFileMakerと連動するらしい。これは私のようなソース音痴にとって今世紀最大の福音となるやもしれぬ...
FileMakerのwebインタフェースと言えば...
昔は ・CDML, Lasso(HTMLの独自拡張) ・XSLT
現在では ・XML ・FMPHP ・FXPHP
利用されているフレームワークとしては ・FmCakeMix (FX.PHP+Cake PHP) ・CodeIgniter (FX.PHP)←新居さん使用中 ・Rfm (FM API for Ruby)
ここで、今回の「INTER-Mediator」が紹介される。 HTMLで作成されたページからDB内容の表示や保存を可能にするテンプレート。 対象は、FileMaker (PHP API) とMySQLということ。確かに両方ともPHPでコネクトできる...すなわちこういうものも作れると。
早速デモだ。 Formを使ったHTMLがある。 Nane要素にフィールド名をセット。 ヘッダにPHPの関数呼び出しを書く。 DB処理のためのナビゲーションを配置したい場所にもPHPの関数呼び出しを書く。
簡単な記述で郵便番号データベースが動くところを確認できた。 ポータルについても問題なく扱えていた。 要するに、ヘッダに自動生成されるJavascriptでDBを参照させ、Bodyに表示されるべきデータを動的に書き替えているらしい。 PHPの場合にゼロから書くと相当面倒くさい「ページめくり」も自動構築されるとのこと。もっと早く言って貰いたかった...orz。
すでにある程度動くものがある上に、現在は再構築を始めているそうで、次のような特徴があるそうです。 ・拡張子を.phpにしなくてもよい。 ・INTER-Mediator自身は公開フォルダ外に置くことも可。 ・HTMLだけで完結できる。 ・デザインとプログラムの完全分離が可能。
このように、かなり魅力的な内容になっている。 PHPならではの機能としてファイルのアップロードやSMTPへのメール送信など、凝った処理をやらせようとすれば、もちろん自分でグリグリ書かなきゃいけない部分も出てくるだろうけど、普通に検索/詳細/書込...ができれば良いのであれば、カスタムwebの敷居が高いと感じる多くの人たちにとって福音になるのではなかろうか。 現在、ほぼ完成に近いところまで辿り着いているとのことで、かなり楽しみと言えるだろう。
http://www.msyk.net/im/ に詳細情報あり。ダウンロードも可能。
期待大なり。
●恒例 Tips対決! ▽野田さん ・v11からドラッグ&ドロップ時にもonObjectModifyイベントが発生するようになったので、データのドラッグ&ドロップでスクリプトをトリガできる。 ただし、アクティブフィールドはドラッグ元のフィールドである点に注意が必要。 (トランプゲームのデモあり...秀逸) 編集注:下記にダウンロード先リンクあります。
▽茂田さん ・リレーション定義の際は、互いに結ばれたTOを複数選択した状態で、そのまま複製できる。 結ぶべきキーフィールドを探すのがとても楽になる。
▽Shinさん ・重なり合ったTOグラフで、目的の□(ここに=とかXとかが見えている)を簡単に開くには、目的の先のTOを選択しておいて左矢印キーで移動すると選択できるのでそのままコマンド+Oで開く。他のTOの□をダブルクリックしてしまうようなことが起きない。
▽今泉さん ・この↑(Shinさんのワザ)のとき、目的の□がマウスで選びにくい場合は、その繋がった先にあるTOを選択しておき矢印キーで□を選択することもできる。 ・TOラベルの文字サイズを巨大にしておくと、全体俯瞰のために表示を縮小したときでも読みやすい。
▽竹内さん ・名前が数字始まりのフィールドは、他フィールドから計算式内で参照するとき「${ 1 }」のように自動的にエスケープされる。 全角の「(」も同様に叱られる。これらは式内にフィールド名を手入力する際に問題になりがちである。 であるからして、問題を避けるためには...やはりダブルクリックでフィールド名を指定しよう。
▽茂田さん ・v11のメリットに「インスペクタ」が挙げられる。名前がインスペクタに変わっても、cm, px等は相変わらずクリックで切替ができる。
●【特集2:失敗は成功のマザー〜セキュリティ編〜】(竹内さん) 数々の失敗ネタのお陰で、我々は「明日はその失敗をしない」という武器を得てきた。 さて今回はセキュリティネタである。竹内先生のトラウマとは...
ありがちなセキュリティ上の失敗パターン ・アカウント=「admin」(デフォルト)+空白パスワード ・アカウント=パスワード
誰でも開けるか、事情を知っていれば誰でも開ける。 仕事を回すのは確かに楽だろうけど...
現実的には、パスワードの文字数を制限した上で、次回ログイン時に設定させるのが吉だろう。 上位権限を持つ対象者の場合は、更に一工夫する方が良いかもしれない。
・部署毎の共通アカウント ・面倒なのでパスワード=「1111」とか
ログを取る意味がなくなる。
こんなのもあるぞ ・FMS稼働マシンでwinny使ったり怪しいサイトに出入り
作り手の問題 ・スクリプト内に、ユーザアカウントでは完結できない書き込み処理がある。 ・フィールド参照の値一覧を作ったが、ユーザアカウントではそのフィールドの閲覧権限が無い。 ・スクリプト内でインポート処理する際、元ファイル側にエクスポート権限が必要だがこれを忘れている。 OS的なアクセス権も絡んでくるので注意が要る。 ・「完全アクセス権で実行」は、そのファイルにしか適用されない。 そのスクリプトだけ元ファイル側を再ログインさせるとか、関係スクリプトを全部「完全アクセス権で実行」にする必要あり。 ・LDAPに完全アクセス権を与える。 ファイルを持ち出せる場合は、アカウント(グループ)名さえわかれば(LDAP環境があれば)誰でも完全アクセス権になる。 ・レイアウトモードに入れなくするだけのセキュリティ スクリプトを作られたら無意味。 ・テーブル値でアカウント管理を代行 スクリプトでアカウントを作成されたら破られる。
いろいろありますなあ。 運用上、これは便利と思われるワザであっても、セキュリティから見ると穴を増やす行為になる訳で。
思いがけない嵌まりとかも ・FMSで公開できない ・OS上のアクセス権を確認 ・公開上限ファイル数を確認 ・「開く」ダイアログに表示されない設定になっている
・公開中ファイルを上書きしてしまった ・OSのファイル共有は切っておく ・更新ファイルのアップはAdmin Consoleを使うのが無難
・バックアップマシンからデータを持ち出された ・バックアップマシンのセキュリティやオフラインの過去データのメディアの取り扱いが問題になる事も多いので気をつけよう。
まとめ ・小手先で解決しようとすると失敗が多い。おおもとで対策し、小手先は保管に留めるのが吉。 ・セキュリティは安全性と利便性をトレードオフする行為と知るべし。要は落としどころ。 ・想定されるすべての権限におけるテストは必須。
実際問題、DB自体がきれいに作られてないと、後付けでセキュリティを細かく設定しようとしても訳わからんようになるだけで、結局レイアウトに入れなくするだけの「えせセキュリティ」とかに流れてしまいがちなんですなあ。 私の場合は、まず綺麗なDBを作るとこから...って...(滅入る)
次回は6/19開催(おお目の前)。「わかりやすいスクリプトについて考える」+「パネルディスカッション:開発者から見たFMP11」だす。
おまけ(筆者quiz:人名など改行のない文字列において「字間狭く」にしても文字がフィールドから溢れる場合、どうやってフィールド幅ジャストになるよう長体をかけるか) 前回の問題(帳票等の印刷系出力において、0.5ポイント幅の罫線を得る方法を答えよ)の回答 →1ポイントの線幅にて倍寸の帳票を作って50%で出力する。 でした。文字サイズも0.5刻みにできるぞ。
Reported by 金丸康明
アンケートのご協力、どうもありがとうこざいました! ご意見、ご要望やご感想はこらちからお寄せください。 >> ご意見箱
Special Links: ・INTER-Mediator(ゲスト新居雅行さんのサイト) ・ゲーム・スピード(作者:のだ歯科医院 野田修さん) FileMaker Fun Nihgt!にいつも参加してくださり、最近は秀逸な作品を作っていらっしゃいます。昨年マイコミジャーナルの「ファイルメーカー選手権」でも賞を獲得されました。その時の作品はこちら。 Special Thanks to: FileMakerまんが:たまみそさん(今回のまんがはこちら) イベントレポート:金丸康明さん
|
|
来場のみなさんのご感想:>> Topへ
| 男性 | Webについてはわからないが、新居さんに好感! |
| 男性 | にながわさんのTips、今度使ってみます |
| 男性 | AWSとの連携AtoZぜひ! |
| 男性 | INTER-Mediatorやってみようと思います。 |
| 男性 | INTER-Mediatorの方はPHPなどの知識がなく難しく感じた。 セキュリティあるあるは、自分でも危ないなと思えるネタが多かったのでとても参考になった。 |
| 男性 | 新居さん、開発頑張って下さい。 |
| 男性 | 今泉さんお待ちしていました。これからも楽しみにしていますので、ぜひよろしくお願いします。 |
| 男性 | セキュリティ、ちゃんとしなきゃと思いつつ、程々に作っています。(ほとんど自分しか使わないので)。アクセス権について、もっと勉強したいと思います。 |
| ちょっと早口 |
|
|