【问题标题】:Do I need to encrypt MySQL server password? [closed]我需要加密 MySQL 服务器密码吗? [关闭]
【发布时间】:2014-06-19 20:23:34
【问题描述】:

我觉得这是一个每个人都知道的非常基本的问题,但我有一段时间没有使用 PHP,所以我只想确定一下。

我正在尝试创建一个允许用户发布 cmets 的网页。由于我需要使用 MySQL 数据库存储 cmets 即时消息,所以我需要将服务器信息和我的登录凭据以允许我的页面将表单数据发送到 php 代码中的数据库。我需要加密这些信息吗?如果我这样做,我会怎么做?我知道如何加密用户输入的内容,但我不确定如何加密需要保留在代码中的内容。

【问题讨论】:

  • 您问了三个不同的问题,但很可能所有问题的答案都是否定的
  • MySQL 不是 SQL Server

标签: php mysql sql-server database encryption


【解决方案1】:

是的,您可以在 PHP 代码中输入用户名和密码。

虽然很少见,但 Web 服务器可能会向浏览该站点的用户透露 PHP 代码。 Apache 配置应该自动运行 PHP 代码而不是显示它,但是我看到一些网站破坏了他们的 Apache 配置并意外泄露了代码。

例如,一个 Apache 配置文件需要像 AddHandler php5-script .php 这样的行。如果配置文件被编辑,并且有人犯了错误,这个 php 脚本处理程序可能会被禁用,并且瞧,PHP 代码被视为文本文件,并且对任何人都是可见的。

因此,更好的做法是将 MySQL 凭据放在 html 文档根目录之外的文件中。然后任何需要它的 PHP 脚本都可以使用include() 来读取包含凭据的文件。 PHP 脚本可以读取文档根目录之外的文件,但任何 HTTP 请求都不能。

另一个解决方案是使用 php.ini 文件。有一些指令可以设置默认的 MySQL 用户和密码。但是您只能通过这种方式配置一组凭据。

[mysqli]
mysqli.default_host = localhost
mysqli.default_user = scott
mysqli.default_pw = tiger

MySQL 5.6 引入了密码的加密存储,以及用于编辑存储密码的文件的工具。但到目前为止,这实际上只对 MySQL 客户端工具有用,而不是 PHP 应用程序。也许有一天这个功能会与 PHP 原生驱动程序集成。见http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html

【讨论】:

    【解决方案2】:

    一般来说,如果您的网络服务器是安全的,客户端就无法浏览您的 php 文件和代码。 php 是一种服务器端语言,这意味着客户端(浏览器)看不到它。浏览器会看到客户端文件,例如 html 文件。这意味着他们无法获取其中包含您的登录信息的文件,因此没有真正需要对其进行加密。

    话虽如此,您应该确保使用正确的标准并确保您的网络服务器是安全的,否则可能会带来风险。

    【讨论】:

      【解决方案3】:

      PHP 不显示在前端。它不是 html,也不会显示在您的浏览器中。所以没有。

      只要浏览这个网站:http://www.w3schools.com/php/php_mysql_connect.asp

      【讨论】:

      • 如果服务器配置不正确并吐出数据库密码
      • 你在说什么。这怎么可能发生。 PHP 在服务器上运行,而不是在您的浏览器中。所以请告诉我你认为这会如何发生
      • 如果 db 用户名和密码存储在文档根目录中,并且无论出于何种原因服务器配置不正确,它可以显示原始代码,包括 pssword
      • 我已经看到它发生了。例如,一个 Apache 配置文件需要像 AddHandler php5-script .php 这样的行。如果配置文件被编辑,并且有人犯了错误,这个处理程序可能会被禁用,瞧,PHP 代码被视为文本文件,并且对任何人都是可见的。
      • 请不要链接到 w3schools,它非常糟糕
      猜你喜欢
      • 2014-07-29
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      相关资源
      最近更新 更多