XoopsModules25x/xoopsinfo

View on GitHub
phpsecinfo/PhpSecInfo/Test/Core/open_basedir.php

Summary

Maintainability
A
2 hrs
Test Coverage
<?php

declare(strict_types=1);

/**
 * Test Class for open_basedir
 *
 * @author Ed Finkler <coj@funkatron.com>
 */

/**
 * Require the PhpSecInfo_Test_Core class
 */
//require_once('PhpSecInfo/Test/Test_Core.php');
require_once dirname(__DIR__) . '/Test_Core.php';

/**
 * Test Class for open_basedir
 */
class PhpSecInfo_Test_Core_Open_Basedir extends PhpSecInfo_Test_Core
{
    /**
     * This should be a <b>unique</b>, human-readable identifier for this test
     *
     * @public string
     */

    public $test_name = 'open_basedir';

    public $recommended_value = true;

    public function _retrieveCurrentValue()
    {
        $this->current_value = $this->getBooleanIniValue('open_basedir');
    }

    /**
     * Checks to see if allow_url_fopen is enabled
     */
    public function _execTest()
    {
        if ($this->current_value == $this->recommended_value) {
            return PHPSECINFO_TEST_RESULT_OK;
        }

        return PHPSECINFO_TEST_RESULT_NOTICE;
    }

    /**
     * Set the messages specific to this test
     */
    public function _setMessages()
    {
        parent::_setMessages();

        $this->setMessageForResult(PHPSECINFO_TEST_RESULT_OK, 'en', 'open_basedir is enabled, which is the
                recommended setting. Keep in mind that other web applications not written in PHP will not
                be restricted by this setting.');

        $this->setMessageForResult(PHPSECINFO_TEST_RESULT_NOTICE, 'en', 'open_basedir is disabled.  When
                    this is enabled, only files that are in the
                    given directory/directories and their subdirectories can be read by PHP scripts.
                    You should consider turning this on.  Keep in mind that other web applications not
                    written in PHP will not be restricted by this setting.');
    }
}