Skip to main content
 Web开发网 » 站长学院 » 织梦教程

织梦dedecms出现系统基本参数空白或显示Call to undefined function make_hash()

2020年09月12日6260百度已收录

最新的织梦版本(2018-01-09)修改了include文件夹中的common.func.php,增加了两个函数。

 

下载的模板文件夹中如果提供了common.func.php文件,很有可能没有这两个函数,于是会造成错误。

 

需要将这两个函数的代码粘贴到/include/common.func.php文件中,代码如下:

 

function make_hash()

{

    $rand = dede_random_bytes(16);

    $_SESSION['token'] = ($rand === FALSE)

        ? md5(uniqid(mt_rand(), TRUE))

        : bin2hex($rand);

    return $_SESSION['token'];

}

 

function dede_random_bytes($length)

{

    if (empty($length) OR ! ctype_digit((string) $length))

    {

        return FALSE;

    }

    if (function_exists('random_bytes'))

    {

        try

        {

            return random_bytes((int) $length);

        }

        catch (Exception $e)

        {

            return FALSE;

        }

    }

    if (defined('MCRYPT_DEV_URANDOM') && ($output = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM)) !== FALSE)

    {

        return $output;

    }

    if (is_readable('/dev/urandom') && ($fp = fopen('/dev/urandom', 'rb')) !== FALSE)

    {

        is_php('5.4') && stream_set_chunk_size($fp, $length);

        $output = fread($fp, $length);

        fclose($fp);

        if ($output !== FALSE)

        {

            return $output;

        }

    }

 

    if (function_exists('openssl_random_pseudo_bytes'))

    {

        return openssl_random_pseudo_bytes($length);

    }

 

    return FALSE;

}

将以上代码粘贴到

 

/**  *  载入小助手,系统默认载入小助手 这段代码的上方即可。

评论列表暂无评论
发表评论
微信