すみません,fs_moodle2.2で追加したRSSのリンクアドレスのセキュリティを上げる機能ですが,暗号化したリンクデータを復号化できない場合がごく稀に存在することが判明しました.ケアレスミスです.近日中に,下記の拡張を行なったfs_moodle2.3を公開しますのでお待ち下さい.
デバッグついでに更にセキュリティレベルを上げるオプションを追加しました.設定ファイル(fsconfig.php)に”秘密キー”を設定できます.ソースリストは公開しても,設定ファイルは公開しませんから安全ですね.もし設定していない場合はMoodleデフォルトのキーを用います.こちらはソースが公開されていますので,自分でソースを書き換えない限りはバレバレです(もしデフォルトのキーを自分で書き換えても,それをphpxref等で公開したら意味が無いですね
).
さらにセキュリティの高いモードを追加で実装しました.もしコースに登録キーを設定している場合は,まず登録キーで復号化します.この段階では意味不明のバイナリーデータですので登録キーを推定するのは困難です.そしてこの登録キーで復号化したリンクデータをfsconfig.phpあるいはMoodleデフォルトのキーで復号化します.2重の暗号化です.もちろん,リンクデータの中にコースの登録キーを埋め込むような真似はしていませんので御安心下さい(さすがにコースidだけは暗号化してくっ付けましたが).なお,ブログのRSSは登録キーがありませんので1回の符号化のみです.
fsconfig.phpの秘密キーを書き換えればサイト全体のRSSリンクアドレスが無効になり,コースの登録キーを変えれば,そのコースのRSSのリンクアドレスのみが無効になります.「おかしいな?」と気付いた段階で,どちらかの値の変更およびアナウンスをすれば良いでしょう.
ちょっとやり過ぎか?とも思いますが,Kagoさん情報提供のStudent Projectsの方もまだ議論が始まったばかりのようですし,抱えている問題点もほぼ同じ状況のようです.Moodle2.0に間に合うのかな? という訳で,Moodle2.0あるいはその後に,もっと安全なRSSの実装が行なわれるのかも知れませんが,それまでの間は,fs_moodle版のRSSリンクで覗き見を防ぎましょう.
でも,RSS関係のコードはまだ煮詰まっていない感じですね.RSSフィードを出力するコードはフォーラムもブログも同一の関数を用いているのに,RSSリンクアドレスを生成する関数はそれぞれ別々の関数です.正確に言えば,ブログの側の関数が放置されている感じ.まだ時期尚早なのかも知れません.
時間が出来たら現状の暗号化法(というほど凄いものではありませんが)をTrackerに報告してみます.
モバイルモードですが,昨日,Using MoodleのGeneral Developer forumおよびMDL-14131に報告しました(パッチ付き).ほとんど英語とは思えない痛々しい文章のせいか,それとも”たった11個のファイルの修正だから試してね!”というのは無理があった(私だって忙しい中,パッチを当てて試したりしません)のか,まったくレスポンスがありませんでした.そこでデモンストレーション用のコースを作成しました.
http://www.suzuka-ct.ac.jp/mech/moodle/course/category.php?id=16
ゲストでもログインできますが,アカウント:mobilemode, パスワード:mobilemode,でも入室できます.こちらのアカウントはビジターロールを設定しましたので,ゲスト並みに権限は制限されていますがフォーラムへは書き込めます.
ログを見てみると,3時間くらいの間に韓国,ハンガリー,ドイツ,マレーシアあたりから,ちょこちょことアクセスがありました.やはり論より証拠ですねぇ.でもまだWatcherは1名のみです.お時間のある方はVoteお願いします.
という訳で,当方のサイトのモバイルモードは英語版で運用しています.もし「この表現は普通じゃない」という箇所がありましたら御指摘下さい.