我目前正在为我的Rails应用程序使用MySQL。在我的database.yml中,我有以下内容:
production:
adapter: mysql2
database: application_name_production
username: root
password: password
host: localhost我想知道,以root用户身份连接到数据库可以吗?与使用root用户以外的其他用户相比,它的安全性会更低吗?
发布于 2012-08-10 19:59:21
这是以明文存储的,所以是的,这是一件非常糟糕的事情。如果有人访问你的网络服务器,他可以读取密码。而且,root用户访问整个系统的密码可能是相同的:)
创建只能使用特定于应用程序的数据库的数据库用户。如果有人窃取了你的database.yml,那么只有这些数据才能被窃取/编辑/销毁。请勿使用已在其他地方使用的密码。
正如您所期望的那样,黑客在入侵您的系统时,会立即使用自动脚本搜索database.yml文件。所以在进入你的系统的一秒钟内,他就可以访问你的所有数据。
发布于 2012-08-10 20:11:17
让单独的用户只对数据库(和任何系统)具有一组所需的权限,可以为黑客提供额外的防范措施
那么,为什么不花5分钟创建一个单独的用户,以节省从可能的黑客攻击中恢复的时间呢?
发布于 2012-08-10 20:23:27
提供root密码(用于系统、数据库等...)是一件非常糟糕的事情。这就像给每个汤姆,迪克和哈里一套你的前门钥匙。
因此,只需花一点时间创建具有适当权限的用户。这将实现保护系统、数据库、表和可以执行的操作的完整性的额外优势。
在我看来,我只是使用存储过程来访问网站,并且只允许从存储过程执行。这确保了没有任何讨厌的东西可以悄悄进入并保持性能,因为卡被放在靠近数据库箱的地方。毕竟,网站的数据库是最大的断言之一。
https://stackoverflow.com/questions/11899021
复制相似问题