>  기사  >  CMS 튜토리얼  >  Dedecms의 기본 시스템 매개변수가 비어 있으면 어떻게 해야 합니까?

Dedecms의 기본 시스템 매개변수가 비어 있으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-01-07 09:28:183303검색

Dedecms의 기본 시스템 매개변수가 비어 있으면 어떻게 해야 합니까?

dedecms의 기본 시스템 매개변수가 비어 있으면 어떻게 해야 하나요?

Dedecms의 기본 시스템 매개변수가 비어 있거나 정의되지 않은 함수 make_hash()에 대한 호출을 표시합니다.

추천 연구: Dreamcms

Dedecms의 최신 버전(2018-01-09)은 포함 폴더 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;
}

위 코드를

/**

에 붙여넣습니다. * 로딩 도우미, 시스템은 기본적으로 이를 로드합니다. 이 코드 위에 작은 도우미

를 입력하세요.

위 내용은 Dedecms의 기본 시스템 매개변수가 비어 있으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.