在php脚本中屏蔽真实用户名,密码,dbname

时间:2016-04-03 14:50:18

标签: php mysqli

我正在使用000webhost站点来托管我从我的Android应用程序访问的数据库。我已经创建了像这样的PHP脚本

<?php
    $connection = mysqli_connect("localhost", "my_user", "my_password", "my_db");
...

当我运行它时,它说它无法连接“拒绝用户'my_user'@'localhost'(使用密码:YES)”。这与我看过的教程使用的语法相同。他们使用的是同一个网站。

但是如果我给参数赋予实数值

<?php
    $connection = mysqli_connect("mysql1.000webhost.com", "a80023423_as22", "abc222", "a80023423_as22");

它有效。

如果有人在地址栏中键入我的URL,他们可以访问我的所有php文件,因此我的密码和连接数据库所需的所有数据。我浏览了一些博客和网站,甚至是堆栈中的一些答案,但无法弄清楚如何屏蔽这些值。

如果您有任何提示可以提供?或者已经发布的答案的链接?

1 个答案:

答案 0 :(得分:0)

您的php ini设置为E_ALL & ~E_NOTICEdisplay_errors ini指令设置为1.这就是为什么它以明文形式打印失败的mysqli请求。这在测试环境中可能是理想的,但绝对不是在生产中。

如果您可以编辑php.ini文件,则可以将display_errors指令设置为0

如果您无法更改ini文件,则需要在脚本顶部包含此代码:

error_reporting(E_ALL);
ini_set("display_errors", 0); 

这样可以防止向用户显示失败的mysql登录等错误。在php文件中包含实际的用户名和密码是安全的。