你好 @everyone
我需要在我的 Discourse Rails 应用程序中实现自定义的代码级和数据库级更改,以满足我的特定要求。
更新密码加密方法。目前,Discourse 使用“PBKDF2”进行密码加密。
根据我的要求,我需要改用“MD5”而不是“PBKDF2”。
我已经在我本地环境设置了代码,并且还使用 Docker 部署了生产环境的 Discourse。
当我在本地更新代码以满足我的要求时,我需要重新部署我的更新代码到生产环境,但目前我已经设置了生产环境的 Discourse 官方 Docker 文件,所以我需要生成一个新的 Docker 文件,如何创建新的 Docker 文件以及如何访问生产环境中 Discourse 应用程序的 PostgreSQL 数据库。
selase
(Selase Krakani)
2
这似乎是一个重大的安全降级。MD5 不适合用于密码哈希。此更改不仅会影响 Discourse 的关键部分,而且您还需要维护它以应对所有未来的版本。
也许我们可以提出一个更好的方法,如果您能解释您想实现的目标。
关于自定义 Discourse,请查看 https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515。插件系统允许您安全地扩展核心功能。
6 个赞
我已经创建了新的 API,需要将其重新部署到我的生产代码中。如何在生产 Docker 中进行部署?
pfaffman
(Jay Pfaffman)
4
您想在插件中进行更改。如果历史可以作为参考,您会非常非常后悔分叉 Discourse 并尝试单独维护它。
您想通过 MD5 哈希存储的密码解决什么问题?正如已经建议的那样,整个互联网似乎都同意 MD5 不是加密,不适合存储密码。
3 个赞
澄清:正如 Jay 指出的那样,MD5 和 PBKDF2 都不是加密函数。
它们都是哈希函数。Discourse 不存储密码。
你说得对。即使你不相信我们,我们也不是 唯一这么说的人。
您试图解决什么问题?
4 个赞
需要帮助寻找解决方案。我需要在 ROR (Discourse) 中更改加密方法。目前,我正在使用 MD5 加密。我在本地环境中对代码进行了更改。如何在没有 Docker 的帮助下将这些更改反映到生产服务器上?
目前,生产环境是使用 Docker 配置设置的。
这是用于设置生产环境的链接。
URL:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
pfaffman
(Jay Pfaffman)
7
您还没有说明您试图解决什么问题。您能详细说明一下 MD5 解决了什么问题吗?
您仍然需要在一个插件上实现您所做的任何更改。您开始学习插件是如何工作的了吗?
但我敢打赌,您真正想要的是让 Discourse 对您现有的应用程序进行身份验证,以防您只需要实现 discourse_connect,而 Discourse 不需要了解您在密码存储方面的选择。
2 个赞