phpMyAdmin blocks empty-password authentication before it sends credentials to MySQL or MariaDB. The AllowNoPassword setting defaults to false so an account with a missing password cannot become reachable through the web interface by accident.
An empty password supplies no secret, so reserve this exception for an isolated development instance or a tightly restricted internal service. Use a dedicated non-root database account whose Host value matches only the phpMyAdmin server, grant access only to the required database, and keep the web endpoint behind an independent access control.
The setting belongs to the active server entry in phpMyAdmin's configuration. Source installations normally use config.inc.php beside index.php, Debian and Ubuntu packages normally use /etc/phpmyadmin/config.inc.php, and the official Docker image loads /etc/phpmyadmin/config.user.inc.php after its generated configuration.
$ sudo cp /path/to/config.inc.php /path/to/config.inc.php.before-no-password
AllowNoPassword permits every matching empty-password database account to attempt authentication through this server entry. A dedicated account with a narrow Host match, minimal grants, and independently restricted web access is required for this exception.
$ sudoedit /path/to/config.inc.php
$cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Servers'][$i]['AllowRoot'] = false;
AllowRoot keeps phpMyAdmin from accepting the database root account through this server entry; database privileges and account host matching still control every non-root account.
$ php -l /path/to/config.inc.php No syntax errors detected in /path/to/config.inc.php
https://pma.example.net/

The authenticated page should identify the dedicated account and expose only its granted databases. A repeat of Login without a password is forbidden by configuration means the directive is outside the active server entry or a different configuration file is loaded.
