携帯版Moodle(「Moodle Lite」の公開について

携帯版Moodle(「Moodle Lite」の公開について

- Robert J. Fouser の投稿
返信数: 15
はじめまして、鹿児島大学のロバート・ファウザーです。

鹿児島大学教育センターで開発した、「Moodle Lite」という携帯電話向けのMoodle用プログラムを公開します。ほとんどの日本の携帯電話(UTF-8対応のもの)で動作確認しました。また、iPod touch, スマートフォンの動作確認しました。日本の携帯電話を配慮して、軽さと見やすさを中心として開発しました。Moodle 1.6x対応です。

.tarのダウンロードまた、これからの情報は次のリンクにあります。
http://www.kic.kagoshima-u.ac.jp/moodle/mod/forum/view.php?id=5216

今度ともよろしくお願いします。
Robert J. Fouser への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
ファウザー先生,ありがとうございます!

以下は別のところにも書いたことですが,再掲します:

さきほどからソースを読んでいるのですが,LDAPに対応していないようなので,うちで使うには少し手を入れなければならなさそうです。

また,私がよく理解していないのかもしれませんが,携帯版でないもともとのMoodleまでCookieless Sessionsになってしまうように読めたので,セッションハイジャック対策のためクッキーだけを使うというMoodleのセキュリティが多少甘くなってしまうかもしれないように思います。この部分は直せるかもしれません。

パスワード入力にhttpsを使うという基本方針との兼ね合いもあり,少し調査を要するところがいくつかありそうです。

Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Tatsuya Shirai の投稿

 一瞬,ドッキリしましたウインク. モバイルモードとはかぶっていませんね.

 携帯電話,モバイル機器,PCという3つのスケールへの拡張が進み,これで大手を振って”さぁ,使いましょう!”と言えますね.

#さすがに第3世代の携帯電話にしないと出張先で情報収集もできないので,Softbank 922SHに機種変更の予定です.モバイルモードの確認のためには,もっと一般的な携帯電話にするべきなのかも知れませんが,自腹ですので妥協はしたくないウインク


 モバイルモードはコースフォーマットの内,トピックス,ウィークリー,ウィークリー(CSS),LAMSフォーマットへの対応が終わりました.残すはscormとsocialです.一通り終わったら,まとめてパッチを公開します.以前に公開した部分も随分と手直しをしてしまいましたので.(次は,diffで公開します)

Robert J. Fouser への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
Moodle Liteは,Moodleへのパッチではなく,Moodleのデータベースを利用する独立したシステムで,機能は限られていますが,非常に軽いのが特徴です。そのため,パソコンを使っている人でも,通常のMoodleより軽いこちらを好まれるかたもおられると聞いています。

クッキーを扱えない携帯でも何とかそれらしく振る舞うように工夫されています。それだけに,よく注意してコードレビューしないと,他人になりすまして小テストの画面に直接入れてしまうといったことができるのではないかと,ちょっと心配しているところです。

インデントのないコードを整形しながら読んでいたのですが,ちょっと疲れてきました。
Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Robert J. Fouser の投稿
奥村先生,白井先生,

お疲れ様です。ファウザーです。公開の最初の日,使っていただき,どうもありがとうございました。ご助言は本当にたすかります。よろしくお願いします。
Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Yohei Ozono の投稿
ご迷惑をおかけしております。また、早速利用していただきありがとうございます。
ファウザー先生と一緒に「Moodle Lite」を開発させていただいた大園と申します。

> インデントのないコードを整形しながら読んでいたのですが,ちょっと疲れてきました。

SQL文を見やすくするために、ヒアドキュメント形式で変数に代入しましたので、
読みにくいかもしれません。申し訳ありません。

> さきほどからソースを読んでいるのですが,LDAPに対応していないようなので,うちで使う
> には少し手を入れなければならなさそうです。

おっしゃるとおり、LDAPには対応しておりません。

> また,私がよく理解していないのかもしれませんが,携帯版でないもともとのMoodleまで
> Cookieless Sessionsになってしまうように読めたので,セッションハイジャック対策のため
> クッキーだけを使うというMoodleのセキュリティが多少甘くなってしまうかもしれないように思
> います。この部分は直せるかもしれません。

こちらもおっしゃるとおりだと思います。Moodleのconfig.phpにCookieless Sessions
設定をしていますので、セキュリティは甘くなっていると思います。
Moodle Liteから読み込んだときにだけ、有効にするように対応していきたいと思います。

> パスワード入力にhttpsを使うという基本方針との兼ね合いもあり,少し調査を要する
> ところがいくつかありそうです。

携帯のSSLでの通信が証明書の問題でうまくいかない機種もあることから、今回は
実装を見送りました。

Moodle Liteは、機能の実装を最優先で開発いたしましたので、おっしゃるとおり
セキュリティ的に甘い部分も多々あるかと思います。

今後も改良を加えていきたいと思っておりますので、いろいろご教授いただければ
助かります。




Yohei Ozono への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
開発者様をお呼び出ししてしまったようで,すみません。

具体的には

//-- 直接開かれた場合=>レジスト変数の確認 --//
if(isset($_SESSION['userid']) || isset($_GET['userid']) || isset($_POST['userid'])) {
/* 認証 */
}
else { /* 未認証 */

  header("Location: ../index.php"); /* ログインページへフォワード */
  exit;
} /* endif */

のようなところがたいへん気になりました。

メールアドレスのチェックですが,

if (ereg("[a-zA-Z0-9_.¥-]+@[a-zA-Z0-9_.¥-]+",$mailaddress)){

の全角¥は間違いでしょうか。
Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Yohei Ozono の投稿
ご指摘ありがとうございます。

> //-- 直接開かれた場合=>レジスト変数の確認 --//
> if(isset($_SESSION['userid']) || isset($_GET['userid']) || isset($_POST['userid'])) > {
> /* 認証 */
> }
> else { /* 未認証 */
>
> header("Location: ../index.php"); /* ログインページへフォワード */
> exit;
> } /* endif */

Cookieless Sessions を利用して小テストモジュールを実装したので、
小テストモジュールの認証チェックのみ、動作優先でやむをえなく上記のようにいたしました。

これだとたしかに、GETやPOSTを利用して悪用される(なりすまされる)可能性はあります。
いい方法がないか考えてみたいと思います。


> メールアドレスのチェックですが,
> if (ereg("[a-zA-Z0-9_.¥-]+@[a-zA-Z0-9_.¥-]+",$mailaddress)){
> の全角¥は間違いでしょうか。

申し訳ありません。間違って「全角」になってしまっていたようです。
おっしゃるとおり「半角」です。

携帯のメールアドレスを登録するために、チェックをゆるくしてあります。

「..」や「-_-」など、携帯のメールアドレスにありがちだけど、本当は
あってはならないものまで許すようにしています。

お気づきの点があれば、なんなりとご指摘いただければ助かります。

Yohei Ozono への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
どうもありがとうございます。

さきほど書き足りませんでしたが,eregの[]の中は\も含めてほとんどの文字がそのままの意味を持つので,単に¥を外せばいいと思います(\に変えるのではなく)。

携帯サイトでのセッション管理は,ややこしそうですね。クッキーだけでなく,POSTも必ずしもうまくいかないとなると,GETしかないのでしょうけれど,URLに

?PHPSESSID=....

というのを付けてセッション管理をすると,フォーラムなどに外部へのリンクをポストしておき,それをクリックしたらREFERERを調べることにより他人のセッションを乗っ取ってしまうということが簡単にできそうです。

私は携帯といえるものを持っていないので(アドエスなら持ってます),このあたりについてはよくわからないのですが,どなたかご教示ください。Moodle for Mobilesなどではどうなっているのでしょうか。白井先生のものはフルブラウザ限定なので問題ありませんね。
Robert J. Fouser への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Tatsuya Shirai の投稿
やっと時間が少し取れましたので,Moodle Liteを試してみよう,と思ったのですが,残念,Moodle1.7以上は非対応なのですね(一番最初に書いてありましたね.見落としていました).

Moodle1.8.4+,Moodle1.9+への対応は難しいでしょうか?

Tatsuya Shirai への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
ほとんどMoodleのデータベースに直接アクセスしているだけなので,もしかしたらそのまま動くかもしれません(やってみてないですが)。たとえできても,ロールに対応していなので,Moodleではできないデータへのアクセスができてしまったりするかもしれません。
Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Tatsuya Shirai の投稿

  データベースを読み出すだけでしたら比較的安心なのですが,小テスト等に答えたりする際にデータベースへも書き込みを行うと思いますので,少々,心配ですね.

 Moodle for Mobilesとは別のアプローチのようですので,Moodle1.9への正式対応に期待したいですね.時間が出来たらMoodle for Mobilesも試してみます.

Robert J. Fouser への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Robert J. Fouser の投稿
皆様、

鹿児島大学のファウザーです。奥村先生の貴重なコメントとその他の修正を含んだアップデートされた「Moodle Lite 1.0.1」を公開します。
Robert J. Fouser への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
ありがとうございます。さっそくダウンロードさせていただきました。
これから試させていただきます。

Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Haruhiko Okumura の投稿
ちなみに,三重大学版では,すべての局面で姓を名より先に表示するための便法として,firstnameを「姓」,lastnameを「名」に対応づけています。そのため,Moodle Liteのlastnameとfirstnameを全置換して使わせていただくことにしました。本物の三重大学サイトではなく,私の研究室のサーバに立ち上げたもので現在テスト中です。
Haruhiko Okumura への返信

Re: 携帯版Moodle(「Moodle Lite」の公開について

- Robert J. Fouser の投稿
奥村先生、

ご指摘、ありがとうございました。今回公開したものはご指摘のsecurityの部分意外に一部のauの未対応新しい機種に対応させました。

今度ともよろしくお願いします。