Play Framework 2.1密码加密
Play Framework 2.1 Password Encryption
我有一个与数据库对话的应用程序,我必须从我的 application.conf
加载数据库连接的凭据。我想要我的凭据,至少是在 application.conf
文件中加密的密码。我没能找到一些很好的文档来说明它如何与 Play 结合在一起。
我的意思是我可以使用任何加密库,加密密码,将其存储到 application.conf
并在连接到数据库时解密。我想知道的是关于它如何与 Play 框架相适应的一些建议。是否有一些内置插件或可用于加密的东西?
实际上,加密您的数据库凭据是没有用的。这样你就必须在某个地方存储一个密钥来解密凭证,这会导致完全相同的问题。
相反,您可以在生产服务器上存储一个 application-prod.conf
,您可以在其中覆盖 application.conf
属性。确保只有用户 运行ning play 有权读取该文件。
include "application"
db.default.password="yoursecret"
那么运行你的申请:
/path/to/yourapp/bin/yourapp -Dconfig.file=/path/to/application-prod.conf
同样的方法用于保护应用程序的秘密。参见 https://www.playframework.com/documentation/2.4.x/ApplicationSecret and https://www.playframework.com/documentation/2.1.x/Configuration。
您不需要加密您自己系统中的任何内容。只需确保您的服务器是安全的。
由于您需要让您的应用程序访问密码,因此有权访问您系统的攻击者无论如何都能够获取您的密码。
但是永远不会将您的密码检查到git(或颠覆或其他)!
相反你应该做的是:
将此行添加到您的 application.conf
:
include "secret.conf"
在您的 conf
文件夹中创建 secret.conf
并将您的所有凭据保存在此文件中。
- 将
secret.conf
添加到您的 .gitignore
,这样它就不会进入您的 Git。
- 在您的服务器上手动添加和更新
secret.conf
文件。
如果你在 Linux 系统上,控制对 secret.conf
文件的读取访问也很聪明,就像@Roman 说的:
Make sure only the user running play has rights to read that file.
我有一个与数据库对话的应用程序,我必须从我的 application.conf
加载数据库连接的凭据。我想要我的凭据,至少是在 application.conf
文件中加密的密码。我没能找到一些很好的文档来说明它如何与 Play 结合在一起。
我的意思是我可以使用任何加密库,加密密码,将其存储到 application.conf
并在连接到数据库时解密。我想知道的是关于它如何与 Play 框架相适应的一些建议。是否有一些内置插件或可用于加密的东西?
实际上,加密您的数据库凭据是没有用的。这样你就必须在某个地方存储一个密钥来解密凭证,这会导致完全相同的问题。
相反,您可以在生产服务器上存储一个 application-prod.conf
,您可以在其中覆盖 application.conf
属性。确保只有用户 运行ning play 有权读取该文件。
include "application"
db.default.password="yoursecret"
那么运行你的申请:
/path/to/yourapp/bin/yourapp -Dconfig.file=/path/to/application-prod.conf
同样的方法用于保护应用程序的秘密。参见 https://www.playframework.com/documentation/2.4.x/ApplicationSecret and https://www.playframework.com/documentation/2.1.x/Configuration。
您不需要加密您自己系统中的任何内容。只需确保您的服务器是安全的。
由于您需要让您的应用程序访问密码,因此有权访问您系统的攻击者无论如何都能够获取您的密码。
但是永远不会将您的密码检查到git(或颠覆或其他)!
相反你应该做的是:
将此行添加到您的
application.conf
:include "secret.conf"
在您的
conf
文件夹中创建secret.conf
并将您的所有凭据保存在此文件中。- 将
secret.conf
添加到您的.gitignore
,这样它就不会进入您的 Git。 - 在您的服务器上手动添加和更新
secret.conf
文件。
如果你在 Linux 系统上,控制对 secret.conf
文件的读取访问也很聪明,就像@Roman 说的:
Make sure only the user running play has rights to read that file.