phpMyAdmin 中的河豚秘密是啥?
Posted
技术标签:
【中文标题】phpMyAdmin 中的河豚秘密是啥?【英文标题】:What is a blowfish secret in phpMyAdmin?phpMyAdmin 中的河豚秘密是什么? 【发布时间】:2016-04-29 21:41:04 【问题描述】:关于设置 config.inc.php,phpMyAdmin 官方文档说
$cfg['blowfish_secret'] = 'theExampleWrites16ValuesHere'; // use here a value of your choice
什么是河豚的秘密? 如何生成或选择值?
【问题讨论】:
【参考方案1】:只需使用您喜欢的任何随机字符串和/或数字。这是一个对您的实例和使用 phpMyAdmin 而言是唯一的值。
【讨论】:
根据文档“建议使用 32 的密钥长度。” (link)。如果您使用的字符串太短,可能会在某些版本的 phpmyamdin 上显示错误消息。 有趣的是,如果我输入 more 超过 32 个字符,PHP 模块会因“总线错误”而死掉(至少在 FreeBSD 上)。少于这个值,当然会触发“Blowfish 密码太短”错误。 @GwynethLlewelyn 使用什么版本的 PHP 和 phpMyAdmin?我的使用 PHP 7.3.rc6 和 phpMyAdmin 4.8.3 远远超过 32 个字符,没有任何问题。【参考方案2】:转到 /var/lib/phpmyadmin/blowfish_secret.inc.php 并添加一些字符长度为 32,如下所示:
$cfg['blow_secret'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
保存文件并刷新 phpMyAdmin。
【讨论】:
在 Debian 9.6 + nginx 上,我也不得不 chown 它:chown -R nginx:nginx /var/lib/phpmyadmin
【参考方案3】:
进入phpMyadmin目录并打开配置文件>> /phpMyadmin/config.inc.php
定位 >> $cfg['blowfish_secret'] = ''; / 您必须为 COOKIE AUTH 填写此信息! /
输入一个不少于 32 个字符的字符串。 You can include Number, Characters&SpecialCharacters 保存并重新加载页面(//yourdomainname.*/phpmyadmin)并再次登录。那应该可以解决错误。
参考:https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase
感谢和问候
【讨论】:
【参考方案4】:如果您有可用的 PHP,您可以将其添加到 shell 脚本中以构建 phpMyAdmin 安装:
export SECRET=`php -r 'echo base64_encode(random_bytes(24));'`
echo "\$cfg['blowfish_secret'] = '$SECRET';" \
>> /path/to/phpmyadmin/config.inc.php
【讨论】:
【参考方案5】:在/usr/share/phpmyadmin/libraries/vendor_config.php
中,配置目录变量可能为空或缺少斜杠,请将其更改为:
define('CONFIG_DIR', '/etc/phpmyadmin/');
需要在 /usr/share/phpmyadmin/libraries/vendor_config.php 中正确设置此临时目录的权限。它为我解决了它。定义('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
另外,如果您在 PhpMyAdmin 中缺少“用户”选项卡,这是由于权限不足造成的。使用 root 权限登录时,从 mysql 控制台(您自己的管理用户名)运行 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
。
【讨论】:
以上是关于phpMyAdmin 中的河豚秘密是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何以 phpmyadmin 用户查看 phpMyAdmin 中的所有数据库?
phpmyadmin(linux)删除mysql SQL查询窗口中的反引号