【问题标题】:Local PHP Web App, how to protect the database password本地 PHP Web App,如何保护数据库密码
【发布时间】:2019-07-14 22:02:15
【问题描述】:

我正在尝试保护一个用完 WAMP 样式本地安装的 PHP Web 应用程序。

目前,应用程序数据库的密码仅在 .php 文件中。我考虑过加密它们,但任何人都可以通过代码轻松解密它们。

这不在网络服务器上运行,它在用户的 PC 上运行。这里有没有人试图保护这种类型的应用程序,并且可能发布了一个编译程序来返回密码,或者可能以某种方式使用了外部密钥库?

感谢您的想法。

澄清:数据库也在本地PC上。

【问题讨论】:

  • 您的数据库是远程的吗?就使用您的网络应用程序的任意客户端而言?
  • 有很多非常强大的外部身份验证提供程序。 Firebase 和 OAuth 等等。
  • @RussJ 我不需要在程序中存储令牌吗?也许我可以用一些基本的东西来加密令牌。
  • 这不是一个愚蠢的问题:你想保护谁的密码?
  • @RussJ 在我的情况下,我倾向于接受您的回答,我可以将加密令牌存储在外部文件中而不是 .php 中,然后对提供程序进行硬编码以查看该文件这样PHP就可以了。它不会 1000% 万无一失,但就您而言,它会让您付出巨大的努力。

标签: php database passwords


【解决方案1】:

如果您向客户端/用户提供源代码,则无法保护数据库连接凭据。基本上,如果您的应用可以访问它并且源代码可供他们使用、阅读、解析,那么他们就拥有与软件相同的访问权限。

【讨论】:

    【解决方案2】:

    那里有很多非常强大的外部身份验证提供程序。 Firebase 和 OAuth 等等。从技术上讲,没有任何系统是 100% 防黑客攻击的,但 Firebase 和 OAuth 为潜在的黑客提供了一条通往成功的艰难道路

    【讨论】:

    • 当您想在注销或更改密码时使令牌无效时会出现问题...
    【解决方案3】:
    1. 在这种情况下,您可以使用 ENV 变量制作 .env 文件并在其中存储密码,然后在应用程序中调用它。

    2. 您可以在 Apache 配置文件中创建环境变量,然后在您的应用程序中调用,这样更安全。

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      相关资源
      最近更新 更多