如果mysql只允许来自localhost

时间:2017-03-22 19:04:29

标签: mysql security passwords localhost webpage

在很多公共网页上,由人们在自己家中主持,他们使用自己的桌面作为网络服务器。在这种设置中,我通常使用一种服务器端语言(如php)连接到同一台机器上的MySQL服务器。安装时我总是给“root”用户一个密码,并为要使用的应用程序(php)脚本创建一个新的用户和密码。因为脚本和数据库都在同一个“localhost”上,所以我总是将允许的连接设置为仅允许来自本地主机的连接,而不是来自其他任何地方的连接。因此,“root”和其他“用户”只能在从机器内访问时连接。

(单独的“root”和“user”帐户是为了给他们单独的权限而用户不能放弃方案的例子)

今天它让我感到震惊,为什么我在MySQL中设置密码?因为如果你想连接到这个数据库,你必须已经登录到本地机器。那么,设置密码真的是必要的还是只是一个多余的预防措施?

如果这不是一个多余的预防措施,为什么不设置密码是不安全的。

(并不是说这是一个很大的负担,但我必须以某种方式记住所有这些密码,使用加密系统这不是一个真正的大问题,但如果可以避免......)

1 个答案:

答案 0 :(得分:0)

对你帖子的评论大多总​​结了这一点,但据我所知,这被称为“纵深防御”(见12)。深度防御基本上是避免在项目中出现单点故障 - 如果您的网络服务器遭到入侵,拥有一个弱密码就意味着您只是免费赠送数据库。这相当于有人闯入你的房子,发现你把保险箱放在厨房的桌子上并解锁了。

如果您要托管一个面向外部的网站,希望获得相当大的流量,尽可能保证安全是一个好主意,除非您特别喜欢恶意用户可以直接访问您的家庭网络的想法。也就是说,如果您期望有相当数量的流量,我强烈建议您在其他地方托管您的网站 - 您可能会发现您的家庭网络速度因此受到很大影响。