自分のPHPアプリケーションにmoodleを統合しようとしています。iframe内にmoodleサイトを表示することはできますか?
質問する
7057 次
2 に答える
0
私の問題は、エディターで iframe を保存できることでしたが、その iframe は後で編集すると取り除かれました。ブログやフォーラムに iframe を埋め込む際に問題が発生した場合は、moodle 3.9.1 で使用したコードを次に示します: config.php を編集し、
require_once(__DIR__ . '/lib/setup.php');
次に、その下に正確に次のコードを配置します。
$script_file = realpath($_SERVER['SCRIPT_FILENAME']);
if($script_file){
$script_file_rel_path = substr($script_file,strlen(__DIR__));
if(strpos($script_file_rel_path,'/edit.php') !== false){
$sitecontext = context_system::instance();
if(has_capability('moodle/site:trustcontent',$sitecontext)){
require_once __DIR__ . '/lib/htmlpurifier/HTMLPurifier.safe-includes.php';
require_once __DIR__ . '/lib/htmlpurifier/HTMLPurifier/ConfigSchema.php';
$definition = HTMLPurifier_ConfigSchema::instance();
$definition->add('HTML.SafeIframe', true, 'bool', true);
// Only allow urls from subdomains of google.com and youtube.com
$definition->add('URI.SafeIframeRegexp', '/:\/\/([^\/]*?)(\.(google|youtube)\.com)\//','string', true);
// Uncomment the following and remove previous line in order to allow any url in the "src" attribute
// $definition->add('URI.SafeIframeRegexp', '//','string', true);
}
}
}
これが何をするか: edit.php リンク (編集ページ) にアクセスするとき、システム内の moodle/site:trustcontent 機能を持つユーザーは、特定のドメインからの URL を使用して、テキスト エディターに iframe を埋め込むことができます。
于 2020-10-07T10:04:21.933 に答える