好奇在 db:seeds 中使用密码创建用户进行开发是否是个坏主意?
3 回答
这通常是一种不好的做法,因为它们会“以某种方式”被遗忘并在生产中创建的次数很少但一定数量。所以这是最重要的事情要知道和意识到。良好的安全性是关于尽可能多的层次和可能性的关注。这从来都不是一个“要看的东西”的问题。
给出的警告..我认为这还可以。您确实需要这些用户进行开发和测试。因此,我建议执行以下操作:
现在在您的票证跟踪系统中输入票证,在上线之前您将检查生产系统中的此类帐户。
即使是测试和开发账户也应该有真正的密码,比如 BIGmy2+catz,而不是“password”、“abc123”、“change-me”等。
考虑在源代码控制中排除种子文件(例如 .gitignore 用于 git),这样它们甚至不在远程服务器上。
考虑加密文件。并“根据需要”对其进行解密,然后在使用后立即删除解密的文件。
运行命令时要小心谨慎,
rake db:seed
并仔细考虑当前种子.rb 文件中的内容以及从公共互联网等可以看到数据的位置。
归根结底,它始终是以下相互冲突的目标之间的平衡:
保护和保护数据
,并
允许开发人员在没有太多障碍的情况下完成工作。
您应该避免以明文形式存储密码并将其提交到 repo。话虽如此,请这样想,如果您在网站上清楚地广播这些用户名/密码是否会造成任何损害(假设是虚拟用户来炫耀系统)如果不是继续作为种子的一部分进行操作.
它正在开发中,对吧?是否有人可以访问您的开发机器,他们可以用它做什么?我认为这很好。种子不应该在生产中运行。