标签:return random bytes dedecms 织梦 length output 基本参数 FALSE
织梦dedecms出现系统基本参数空白或显示Call to undefined function make_hash()
***新的织梦版本(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;
}
将以上代码粘贴到
/**
* 载入小助手,系统默认载入小助手
这段代码的上方即可。
标签:return,random,bytes,dedecms,织梦,length,output,基本参数,FALSE 来源: https://blog.csdn.net/qq_35171556/article/details/120669608
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。