从phpmyadmin和mysql阻止除localhost之外的所有用户
我最近在台式机上安装了XAMPP堆栈,并通过本地网络上的笔记本电脑进行连接。令我惊讶的是,我能够访问phpmyadmin并删除和更新所有mysql表。虽然我知道我不应该在生产中使用xampp(我也不是),但我仍然想学习如何管理这些明显的安全缺陷。我知道我可以通过.htacces()阻止对目录的访问,但我想要更全面一点的。如何限制从除localhost之外的任何位置运行mysql查询?有没有一条没有.htaccess的路?我认为这部分是root用户的目的 MySQL定义了具有域的用户。如果查看从phpmyadmin和mysql阻止除localhost之外的所有用户,mysql,apache,security,phpmyadmin,xampp,Mysql,Apache,Security,Phpmyadmin,Xampp,我最近在台式机上安装了XAMPP堆栈,并通过本地网络上的笔记本电脑进行连接。令我惊讶的是,我能够访问phpmyadmin并删除和更新所有mysql表。虽然我知道我不应该在生产中使用xampp(我也不是),但我仍然想学习如何管理这些明显的安全缺陷。我知道我可以通过.htacces()阻止对目录的访问,但我想要更全面一点的。如何限制从除localhost之外的任何位置运行mysql查询?有没有一条没有.htaccess的路?我认为这部分是root用户的目的 MySQL定义了具有域的用户。如果查看in
information\u schema
数据库中的user\u privileges
表,您会发现它们都有域。如果您的所有用户都严格定义为localhost,则不会有远程访问
此外,您还可以编辑my.cnf以关闭对数据库的tcp访问,强制所有连接通过套接字连接。在[mysqld]
下,包括行跳过网络
。您必须配置所有应用程序以使用套接字连接,但无论如何,我更喜欢套接字
如果phpMyAdmin与数据库安装在同一台计算机上,则这对保护您的数据不受使用phpMyAdmin的人的攻击没有任何作用。最安全的做法是扔掉那个应用程序。然而,这通常是不实际的,因为它是一个有用的工具,所以您需要配置phpMyAdmin以要求用户对自己进行身份验证。这意味着不将密码放入配置文件中。您需要考虑在重新验证之前需要多长时间的会话,以及诸如此类的事情
每当我尝试配置phpMyAdmin时,它总是让我怒不可遏,超过一千个太阳,但它绝对可以进行设置,因此每次通过phpMyAdmin连接到数据库时都需要密码。您可以进一步限制phpMyAdmin滥用者可以做的事情是确保它仅作为具有有限权限的用户连接(例如,只能修改您目前正在处理的数据库)