wordpress4.5.3安装出现致命错误CSPRNG

/文 ,创作于2016-08-12 13:14:05
摘要:为了进一步了解这几行代码究竟是用来做什么的。我仔细地阅读了他们。这几行代码的前面,有两行说明注释,告诉我们,请开发人员不...
 

今天安装目前较新版本的中文版wordpress 4.5.3,出现了下面的情况。出现该情况,是在刚刚配置完数据库,并将要安装数据库表的时候发生的。

Fatal error:
Uncaught exception 'Exception' with message 'There is no suitable CSPRNG installed on your system' in $dircmswp4531wordpresswp-includesrandom_compatrandom.php:205
Stack trace: #0 $dircmswp4531wordpresswp-includesrandom_compatrandom_int.php(153): random_bytes(1)
#1 $dircmswp4531wordpresswp-adminsetup-config.php(286): random_int(0, 91)
#2 {main} thrown in $dircmswp4531wordpresswp-includesrandom_compatrandom.php on line 205

百思不得其解,上网也没有找到具体的方法。网上都说没有出现过这样的情况。有一个回答是升级目前的php版本,可能至少需要php5.3及以上才可以。而我一直做测试开发的环境,配置的php都仍然是php5.2版本。

就目前来说,暂时不可能更换php的版本,因为现在的5.2占有市场还是有很大一部份的,而且很多的老客户都使用的这一套环境。若到时候也是出现类似的情况,可就说不过去了,所以必须要将其彻底处理了。

首先找到该文件,并查看第205行。发现是一个异常抛出。它仅仅是抛出一个字符串,并没有什么大的动作,于是我的第一想法就是,先注释掉整块而不只是整行的代码。

重新刷新页面,发现正常了,而且没有任何问题出现。

安装完之后,处理了相关的第三方script和头像问题。又回过头来想,现在这个错误是否可以解除了?于是,我将刚刚被注释掉的几行代码还原。刷新,发现前台和后台页面正常进行。应该该块在安装过程中起作用。

为了进一步了解这几行代码究竟是用来做什么的。我仔细地阅读了他们。这几行代码的前面,有两行说明注释,告诉我们,请开发人员不要让下面代码执行不出来。而我们刚才就是那样做了。

“致命错误:未捕获的异常消息,在你的系统上没有找到合适的CSPRNG。”

那么,CSPRNG究竟又是用来做什么的呢?引用 维基百科 的定义,密码安全的虚拟随机数生成器(Cryptographically Secure Pseudorandom Number Generator,CSPRNG)是带有特定属性使之在密码学中适用的虚拟随机数生成器(pseudo-random number generator,PRNG)。CSPRNG 主要用于:生成键(比如:生成复杂的键),为新的用户账号生成随机密码,加密系统,保证高安全水准的一个重要因素便是高质量的随机数。默认情况下,PHP 5 并未提供任何强虚拟随机数生成器。

难怪我在安装过程中,因为屏蔽了这几条消息,没有抛出异常。因为确实缺失CSPRNG,在安装后台管理员的时候,密码是一串“aaaaaaaaaaaaaaaa”。而且,我打开wp-config.php方件一看,吓我一跳的是,居然所有的KEY,不像以前的版本是随机字符串,现在全部都是一串“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”。

看样子CSPRNG对于这个版本的这套系统非常重要,因为我查到,wordpress曾经曝出了CSPRNG缺失安装漏洞(CVE-2014-6412)。

于是,现在面临一个选择,要么升级php的版本或安装CSPRNG的相关功能,要么降低wordpress的版本。鉴于目前是develop环境,不是production环境,于是考虑采用旧版的wordpress进行开发和设计。

本篇文章内容属作者原创信息,如若转载,谢谢,请注明出处:http://eedev.net/article-view-143.html
 
 
浏览:3371次, 评论:0次
 
参加讨论
后参与讨论
提交评论
没有相关数据或者数据记录已被清除。
 
Wordpress-CMS框架的模板主题设计制作,插件开发。
共有11篇文章,20800次浏览,1次评论
 
最近文章
 
 
该作者被点赞过的文章 LIKED
 
该作者的热门文章 TOP HOT
 
大家都在看 VIEW
 
热点标签 TAGS
 
db error!