【问题标题】:How To Disable Data Directory Check in Moodle 3.3+ Installation如何在 Moodle 3.3+ 安装中禁用数据目录检查
【发布时间】:2017-06-28 11:11:33
【问题描述】:

你好亲爱的朋友我有一个安装 Moodle 3.3+ 的问题 Moodle 无法在 public_html 之外创建数据目录“moodledata”...

像往常一样,默认安装moodle时,它会在public_html之外创建数据目录。我就这个问题联系了我的主机。他们说出于安全原因,他们不允许我在public_html之外创建moodledata目录。 ..

所以我决定更改数据目录位置 (public_html/moodledata/),但 moodle 安装显示“Dataroot 位置不安全”......然后我做了 chomd 那个目录“770”,我也把 .htaccess文件:order deny,allow deny from all

我得到了相同的结果:“Dataroot 位置不安全”

现在我需要禁用moodle dataroot安装安全检查..

我做了一些更改,但出现错误...

代码如下:

//first time here? find out suitable dataroot

if (is_null($CFG->dataroot)) { $CFG->dataroot = DIR.'/../moodledata';

$i = 0; //safety check - dirname might return some unexpected results
while(is_dataroot_insecure()) {
    $parrent = dirname($CFG->dataroot);
    $i++;
    if ($parrent == '/' or $parrent == '.' or preg_match('/^[a-z]:\\\?$/i', $parrent) or ($i > 100)) {
        $CFG->dataroot = ''; //can not find secure location for dataroot
        break;
    }
    $CFG->dataroot = dirname($parrent).DIRECTORY_SEPARATOR.'moodledata';
}
$config->dataroot = $CFG->dataroot;
$config->stage    = INSTALL_WELCOME;

}

如何正确禁用它? (当然我想自己承担风险,我是)..

谢谢大家在高级, 致以最良好的祝愿!

【问题讨论】:

    标签: php moodle


    【解决方案1】:

    强制检查通过的最简单方法是打开 lib/adminlib.php,找到函数 is_dataroot_insecure() 并在函数开头添加以下内容:

    function is_dataroot_insecure($fetchtest=false) {
    
        return false; // CORE MODIFICATION - disable checks
    
        ... the original function code appears here ...
    

    也就是说,从安全角度来看,这是一个非常糟糕的主意 - 它可能会允许 Internet 上的任何人浏览您的 Moodle 站点中的文件。

    我会强烈建议您找到更好的托管服务提供商,因为这听起来不适合托管 Moodle 网站。如果您只有少量用户,那么免费的Moodle Cloud 帐户可能是一个合适的解决方案。否则,您可以考虑使用Moodle Partner 支付托管费用。

    【讨论】:

    • 非常感谢您的回答,我会尽快测试...也感谢您的建议!
    【解决方案2】:

    这不是最好的方法,但是如果你喜欢的话,可以通过编码来摆脱这个错误..,

    在moodle root 中找到install.php,如果您在第341 行使用2.6 或其他版本,请搜索is_dataroot_insecure() 函数并在else if 条件下将其更改为false,然后尝试再次安装,然后它.. ,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多