4

我有一个很好的 php mySQL 登录脚本,可以正常工作。还有另一种方法可以提供我所有的访问信息而不在脚本中透露吗?现在,我显示了我认为不安全的所有安全访问信息。

我可以隐藏这个吗?

这是我所指的:

    $host="localhost"; // Host name
$username="XXXXXXXXXX"; // Mysql username
$password="XXXXXXXXXX"; // Mysql password
$db_name="XXXXXXXXXXX"; // Database name
$tbl_name="XXXXXXXXXX"; // Table name
4

7 回答 7

8

创建database.php,将上面的代码片段移动到database.php,然后..

include "database.php";

在需要数据库连接的每个页面的顶部。

于 2011-07-25T17:54:02.900 回答
1

第一步:将所有mysql api放入单独的文件中,而不是将其包含在其他脚本中。

第二:由于配置您的服务器,拒绝访问 sql config\api 文件。

顺便说一句,您向谁显示“显示我所有的安全访问信息”?

于 2011-07-25T17:53:20.547 回答
0

只要 php 在将脚本发送到客户端之前解释您的脚本,您就安全了。如果您有权访问 apache conf 文件,则可以尝试类似的方法。

http://www.brianhare.com/wordpress/2011/02/18/hiding-mysql-passwords-in-php-using-apache-environment-variables/

如果您要在脚本顶部包含该文件,请务必为该文件提供一个将被解释的扩展名 (.php) 或阻止它们在 .htaccess 文件中提供。否则,您可能会冒着网络服务器根据请求将其作为文本提供的风险。

于 2011-07-25T17:51:59.290 回答
0

没有简单的方法可以做到这一点,我建议将变量存储在一个单独的文件中,然后只包含数据。如果您对其他人阅读数据不满意,为什么不专门为脚本创建一个单独的用户呢?我就是这样做的。

于 2011-07-25T17:53:12.557 回答
0

如果您想放弃该脚本并在之前对整个文件进行加密,您可以随时使用 Zend Guard

http://www.zend.com/en/products/guard/

于 2011-07-25T17:54:09.717 回答
0

它必须在某个地方定义。我会确保您已安装suPHP,以便您可以将权限设置为 400。然后包含具有您定义的文件,例如 connection.php 等。这是非常安全的,因为它只允许服务器/您的帐户读取php 文件。

于 2011-07-25T17:54:20.420 回答
-1

客户端机器无法访问服务器端进程或任何 PHP 变量的源代码:只能输出。var_dump除非您在 PHP 脚本中提供特定机制来显示变量(即调试函数,如),否则它是安全的。此外,您的服务器必须设置为处理 PHP 文件并呈现脚本的输出,而不是像提供纯 HTML 一样提供原始代码,但简单地安装 PHP 通常可以解决这个问题。

然后是与协作者或其他拥有服务器访问权限的人的访问级别问题:这就是为什么最好将您的凭据保存在一个单独的文件中,该文件从 GitHub 等公共环境中排除。这就是我要说的所有内容,因为每种情况都不同,尤其是当您折腾文件权限和文件所有权时。然而,应该注意的是,MySQL 用户权限也可以受到限制,这增加了一层额外的保险,以防错误的人遇到凭据。

于 2021-09-11T20:41:31.650 回答