网站安全sql数据库访问密码php

时间:2012-06-26 20:15:39

标签: php sql

我是PHP和SQL的初学者。也许这是一个愚蠢的问题,但我真的希望听到专业人士的意见,因为我也计划进入网站行业。

当我们尝试在网站上进行SQL查询时,例如通过PHP,我们需要先与数据库建立连接:

$mysqli = new mysqli("localhost", "root", "password", "my_db");

但这样做会让我感到烦恼,因为它对我来说并不安全。我必须通过脚本传递密码,该脚本有可能向Web用户公开。

是否有更安全的方法将密码传递给SQL命令?专业人士如何处理这个问题?

4 个答案:

答案 0 :(得分:2)

这是正确的方法。

通常密码在变量/常量中,并且该变量将传递给此命令。

如果从PHP服务器提供此文件,则Web上的用户将无法看到此文件的来源。因此他们永远不会看到密码。

答案 1 :(得分:0)

这在正常情况下是正确和安全的。 PHP是一种服务器端语言,因此所有代码都在服务器上进行评估,只有输出才会发送到客户端。因此,您的数据库凭据将永远不会传输给用户。

当然,如果您的服务器配置不正确,并且它以明文形式提供PHP文件而不是执行它,那么您将遇到问题。

答案 2 :(得分:0)

PHP文件中使用的密码通常是一个只允许从localhost访问数据库的帐户。所以即使我知道密码,我也无法通过互联网访问数据库。连接必须来自同一台计算机,因此只要您保护对服务器的访问权限,您应该没问题。此外,MySQL的默认配置是仅侦听来自localhost的连接。

答案 3 :(得分:-2)

您应该使用单向加密算法,然后将加密传递到数据库中存储。我想重新实施单向加密,这样即使有人抓住它,他们也无法做任何事情。然后,在检查密码是否匹配时,您将获取输入的密码并加密然后匹配加密。你永远不会解密它,你无法解密密码。基本上,在加密密码后,您只需将其丢弃,再也不要使用它。