Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否有办法隐藏所有数据库信息,如密码、用户名等?_Php_Mysql_Passwords_Host - Fatal编程技术网

Php 是否有办法隐藏所有数据库信息,如密码、用户名等?

Php 是否有办法隐藏所有数据库信息,如密码、用户名等?,php,mysql,passwords,host,Php,Mysql,Passwords,Host,我正在创建几个php脚本。我必须始终为同一数据库和表的每个脚本插入主机、用户名、密码等吗?有没有一种方法可以只使用一行或其他方式进行引用?是否仍有隐藏此信息的方法 $host="XXXXXXXXX"; $username="XXXXX"; $password="XXXXX"; $db_name="XXXXXX"; $tbl_name="XXXXX"; mysql_connect("$host", "$username", "$password") or die("cannot connect")

我正在创建几个php脚本。我必须始终为同一数据库和表的每个脚本插入主机、用户名、密码等吗?有没有一种方法可以只使用一行或其他方式进行引用?是否仍有隐藏此信息的方法

$host="XXXXXXXXX";
$username="XXXXX";
$password="XXXXX";
$db_name="XXXXXX";
$tbl_name="XXXXX";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

当PHP文件被执行,因此源代码在web上不可见时,意外的错误配置可能会改变这一点。您可以将DB配置放在wbeserver文档根目录之外的单独文件中,并使用PHP的
require
命令将其包含在其他脚本中


但是,根据PHP配置的不同,PHP脚本可能无法访问docroot之外的文件,但是有一些方法可以解决这个问题。详细讨论这些问题

当执行PHP文件时,源代码在web上不可见,意外的错误配置可能会改变这一点。您可以将DB配置放在wbeserver文档根目录之外的单独文件中,并使用PHP的
require
命令将其包含在其他脚本中


但是,根据PHP配置的不同,PHP脚本可能无法访问docroot之外的文件,但是有一些方法可以解决这个问题。详细讨论这些问题

如果您不想将凭据放在php文件中,则可以将它们放在php.ini配置文件中

mysql.default_host = "localhost"
mysql.default_user = "user"
mysql.default_password = "pass"
然后在php源代码中:

<?php

$connect_db = mysql_connect();
$err = mysql_error();
if ($err != "")
{
        echo "Error connecting to database: $err";
        die;
}

if (!mysql_select_db("mydomain_com_test", $connect_db))
{
        echo mysql_error()."<br/>";
        die;
}

$sql = "SELECT NOW()";
$rows = mysql_query( $sql );

?>

如果不想将凭据放在php文件中,可以将它们放在php.ini配置文件中

mysql.default_host = "localhost"
mysql.default_user = "user"
mysql.default_password = "pass"
然后在php源代码中:

<?php

$connect_db = mysql_connect();
$err = mysql_error();
if ($err != "")
{
        echo "Error connecting to database: $err";
        die;
}

if (!mysql_select_db("mydomain_com_test", $connect_db))
{
        echo mysql_error()."<br/>";
        die;
}

$sql = "SELECT NOW()";
$rows = mysql_query( $sql );

?>


从技术上讲,任何人都可以通过我的脚本链接找到我的信息?是吗?跟随链接并不意味着你可以看到来源。你能看到Stackoverflow源代码吗?他们看不到你的php代码。有人获取这些详细信息的更可能的方式是通过强制使用你的FTP并下载它们。感谢反馈。从技术上讲,任何人都可以按照我的脚本链接找到我的信息?是吗?跟随链接并不意味着你可以看到来源。你能看到Stackoverflow源代码吗?他们看不到你的php代码。更可能的方法是通过强制使用FTP并下载这些详细信息。感谢反馈。