みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
Get(持続ID)について質問させて下さい。
現在作成中のシステムを、iPad上でFMGGo14で使用する予定です。
システムは特定のiPadで使用する予定なので、
端末の使用制限をかけるのにGet(持続ID)を使用しようと考えています。
Get(持続ID)の仕様を見る限り、iOS端末ごとに異なる値を返すとあるので、
初回実行時にGet(持続ID)で持続IDの値を取得して保存し、
次回からはその都度Get(持続ID)で値を取得し保存している値と比較して端末の使用制限をしようと思っています。
(例えば、iPad1にあるファイルを、iPad2に移しても使用できないようにしたい)
そこで疑問なのですが、Get(持続ID)は同一端末では必ず同じ値を返すのでしょうか?
FMGoをアンインストールをして再度インストールした際は値が変わる場合もあるみたいですが、
FMGoをアップデートしても同じ値を返すのでしょうか??
調べてもはっきりしなかったので、ご教授いただけると助かります。
また、Get(持続ID)を使用する以外に端末の使用制限ができる方法があれば
アドバイスいただければ幸いです。
どうぞよろしくお願い致します。
Offline
持続 ID は iOS 端末毎に異なる値を返します。
厳密にはベンダー製アプリケーションが初めてインストールされた際に値が決定し、
ベンダー製アプリケーションがすべてアンインストールされると値はリセットされます。
http://filemaker-jp.custhelp.com/app/an … _id/12573/
要は FileMaker 社のアプリケーションのいずれかが入っていれば同じ端末で持続IDは同じ、
FileMaker 社のアプリケーションが全部アンインストールされたら持続IDは変わります。
FileMaker Go が 1バージョンのみインストールされている場合、
アップデートの際にも変化することもあることが確認できていますが FileMaker 社の見解は "変化しない" です。
ただし、FileMaker Go 13 までの話でありアップデートが行われていない FileMaker Go 14 については不明です。
FileMaker Go が端末の固有値を取得する方法は持続ID以外にはないので、
他の手段は確実性に欠けるのが実情でしょう。
IPアドレスやユーザ名は簡単に偽装されてしまいます。
アプリケーションのサンドボックス領域にテキストで値を書き込んでおき、
次回起動時から書き込んだ値をサーバーに保存した値と比較する方法が現状では堅いかもしれません。
※アップデートでもサンドボックス領域は書き換わりません。
Last edited by Moz (2015-06-15 15:52:18)
Offline
Mozさん
回答ありがとうございます。
iPad上に FileMaker 社のアプリケーションがFMGo1つだけの時は、アップデートでも書き換わることも皆無とは言い切れないのですね。
Filemaker社のサイトを見てもなかなか理解できなかったのですが、Mozさんの回答で納得しました。
FMGo14は出たばかりなので、確かに現状ではアップデート時の確認はできませんね。
サーバと繋げてシステムを利用できたらいいのですが、サーバに接続するのは初回実行時のみになります。
初回実行時にFMGoで入力したコードをサーバーに送り、サーバ上のコードと一致したら使用制限を解除するというイメージです。
それ以降はオフラインで使用予定なので、Goのファイル内に初回実行時の持続IDの値を保存して確認するしかない状況です。
アプリケーションのサンドボックス領域については、恥ずかしながら知りませんでした。
スクリプト等を使用してFilemakerGoからサンドボックス領域に値を書き込むことも可能なのでしょうか?
サンドボックス内の値が書き換わることがないのであれば、
初回実行時にFMGoとサンドボックスに持続IDを保存し、次回起動時はファイル内の値とサンドボックス領域の値を比較して対応できないかなとも思ったのですが。
(他の端末にコピーしても、他の端末のサンドボックス内には値がないか、もしくは異なる値が保存されているため使用制限ができるのでは。)
Offline
サーバと繋げてシステムを利用できたらいいのですが、サーバに接続するのは初回実行時のみになります。
初回実行時にFMGoで入力したコードをサーバーに送り、サーバ上のコードと一致したら使用制限を解除するというイメージです。
Get ( 持続 ID ) の値は端末側で取得するまでは分かりませんので、
予め接続を許可する(制限解除する)端末で持続IDを取得してサーバーに登録する必要があります。
Get ( ドキュメントパス ) がサンドボックス領域です。
FileMaker Go でデバイス内のファイルを表示させている場所です。
エクスポートで Get ( ドキュメントパス ) & ファイル名 で書き出し可能ですし、インポートで同様に読み込みも可能です。
書き出すだけでは誰でも見えてしまうのでファイル名の頭に「.」を付けることで不可視属性にできます。
不可視でもインポートで使えますので問題はないでしょう。
「.」を付けたファイルは Mac / PC の iTunes からも見ることはできなくなります。
Get ( 持続 ID ) を保存するとアップデートで変わる問題を抱えたままになるので、
Get ( UUID ) などの値を初回のみ書き込んで利用した方が確実でしょう。
端末認証については FileMaker カンファレンスでセッションがあります。
諸問題(汗)のため持続IDが変わる問題は言葉を濁していますが参考になるでしょう。
BYOD時代のFileMakerソリューションのセキュリティ -端末認証を併用した高度なセキュリティ構築-
https://youtu.be/8e8JE_4o_LA
Offline
Mozさん
返信が遅くなり申し訳ありません。
FileMaker カンファレンスでセッション動画はまだサッと見ただけですが、参考になりそうです。
これからちゃんと見て勉強しようと思います。
Mozさん書かれたエクスポートのやり方を簡単に試したところ、サンドボックス領域へのGet(UUID)の値のエクスポートでの書き出しと読み込みはできました。
(インポートスクリプトではうまくいかなかったので読み込みはURLから挿入を使用。)
Get(UUID)はその都度取得する値が変わってしまうのでGet(持続ID)の使用を考えていました。
とりあえず毎回サーバーと接続できない現状では、不可視の状態で初回実行時のGet(UUID)の値を
サンドボックス領域に保存。
同時に、サーバとFMGo上のファイルにも初回のGet(UUID)の値を保存するなどして対応を考えてみたいと思います。
Offline
Pages: 1
[ Generated in 0.040 seconds, 8 queries executed - Memory usage: 535.57 KiB (Peak: 540.48 KiB) ]