2

私は、小さなデータベースを使用する比較的小さくて単純な PHP Web アプリを作成する任務を負っています。このための認証は、管理ページによって生成され、目的のユーザーに電子メールで送信されるクエリ文字列でランダムに生成された 16 進キーによって行われます。

ここまでは問題ありませんが、問題は次のとおりです。

さまざまな政治的理由により、このアプリを Moodle モジュールにすることを余儀なくされました。MySQL で Moodle データベースを使用できますが、Moodle と対話しない独自のテーブルで作業する予定であり、Moodle は私のテーブルと対話しません。また、PHP->MySQL への直接アクセスではなく、Moodle データベースの抽象化を使用する必要があります。

ユーザーに、自分が Moodle 内で操作していることを知られたくありません。彼らは私の Web アプリにアクセスするために Moodle にログインする必要はありません。Moodle にアクセスできるユーザーは、Moodle 関数のリストにこの Web アプリを表示しないはずです。

いくつかの小さな PHP ページをまとめて、いくつかの Moodle ライブラリを含め、moodle/mods ディレクトリにコードを配置しました。URL を使用してサーバー上の PHP ページに直接アクセスすると、適切なチャネルを介してモジュールにアクセスしていないため、Moodle エラーが発生します。「不正なアクセスが検出されました」というエラーが表示されます。

私が任務を負っていることは可能ですか?もしそうなら、それを達成するための最良の方法は何ですか?認証モジュールを作成してからアクティビティ モジュールを作成する必要がありますか? Moodle の認証をすべてバイパスし、コアの Moodle 設定ファイルを編集せずに単純にデータベースの抽象化を使用する方法はありますか? (Moodleコードを変更することで可能であることは知っていますが、残念ながらそれはオプションではありません)。

PHP の経験は豊富にありますが、Moodle の経験は約 4 時間しかなく、どこにも速くは達していません。

4

2 に答える 2

0

poodle が構成ファイルで指定したもの以外のホストからアクセスしているときに、スクリプトにアクセスしようとしている可能性があるように思えます。http_host と noodle wwwroot をダンプして、ラインナップが整っているかどうかを確認できます。私は1.9よりも2に慣れていませんが、abort_after_configを定義して構成を含め、cfg wwwrootを変更してから、abort_after_config_cancelを定義してからセットアップを含めることができる場合があります。そうしないと、ホストを偽装する可能性があります。それ以外の場合は、Tue lib/setup.pup ファイルのチェックを削除できます。

于 2011-08-13T06:08:21.727 に答える