Database JSON与数据库

Database JSON与数据库,database,json,security,configuration,Database,Json,Security,Configuration,最近,我不得不制作一个应用程序,以后必须上传到多个web服务器。这样做,我意识到,当将管理员密码和用户名存储到json文件中时,不需要db连接,因此它可以一直工作。此外,在json中保存配置时,我可以将应用程序复制到web服务器,然后转到浏览器进行配置 当使用数据库进行此操作时,我必须配置此硬编码。数据库连接将在connect.php或config.php中声明。上载应用程序时,我无法使用它,因为没有db连接。我不能在应用程序内部设置db连接,因为即使可以,我也无法登录。这就像是一辆封闭的车里的

最近,我不得不制作一个应用程序,以后必须上传到多个web服务器。这样做,我意识到,当将管理员密码和用户名存储到json文件中时,不需要db连接,因此它可以一直工作。此外,在json中保存配置时,我可以将应用程序复制到web服务器,然后转到浏览器进行配置

当使用数据库进行此操作时,我必须配置此硬编码。数据库连接将在connect.php或config.php中声明。上载应用程序时,我无法使用它,因为没有db连接。我不能在应用程序内部设置db连接,因为即使可以,我也无法登录。这就像是一辆封闭的车里的车钥匙

我的困境:这是正确的方法吗?这是节约吗?这是有效的吗?最重要的是,你们是怎么做到的


存储管理员登录和配置数据的最佳方法是什么?通常的解决方案是将密码从源代码移到配置文件中。然后将管理和保护该配置文件的工作交给系统管理员。这样,开发人员就不需要知道任何有关生产密码的信息,并且在源代码管理中也没有密码记录

换句话说,一个
config.php
包含一个
define(“DB_PASS”,“topSecret”)


如果正确管理对
config.php
文件的访问,则此方法是安全的。

Lynks认为这是常见的,并且比在源代码管理中使用密码要好,但是如果这是您正在设计的生产系统,我强烈建议使用不同的机制进行用户身份验证

大多数数据库允许您使用本地系统用户和组,或外部LDAP来管理您的用户凭据。大多数应用服务器也会有相应的机制,这不是一个新问题。有些系统允许您为受信任的用户创建安全密钥(如SSH密钥),以允许无密码登录

在生产系统的任何地方都清除密码是一个坏主意,至少使用有损哈希方法对其进行置乱。记住,在处理密码时,作为设计师和开发人员,您有责任尽最大努力确保密码的安全。请先评估您的所有选项,然后再决定一个简单的解决方案,这可能会让您和您的客户在以后感到严重尴尬。你在使用什么技术?也许我们可以帮你找到你可以选择的

记住,没有什么是完全孤立的。例如,即使这不是一个关键的系统,许多地方也会使用某种密码模式,这将为潜在的黑客提供入侵其他帐户的线索。如果您管理多个用户的密码,则某些用户在很多情况下使用相同的密码


这篇文章的目的不是演讲,而是呼吁你确保探索所有可用的途径,以保持你的声誉和客户的安全。将其视为一个挑战或难题,并从中获得乐趣。

您可以看到,唯一需要确保安全的数据是应用程序的设置。它们可以包含一些并非所有人都能看到的值,如db pass、db user、db name、e-mail-pass等。此外,应用程序后端受密码保护。此密码需要安全存储,最重要的是,它必须可用于php脚本。这也适用于设置。正如我现在看到的:conf.json witch包含所有设置,admin.json witch包含一些管理员用户及其密码。这两个文件是禁止使用.htaccess查看的,密码是经过编码的。很抱歉我不在。看看你是否可以在你的应用程序中不使用密码。例如,使用外部身份验证()配置Oracle数据库。这允许它在系统上设置一个用户,让您的应用程序以Oracle将授予其访问权限的身份运行,而无需登录。取决于您正在使用的其他技术,看看您是否能够以这种方式设置它们。。此外,如果使用用户组而不是显式用户,则可以轻松地从具有访问权限的组中添加或删除用户。