10

データベースサーバーとの接続を確立するためのphpファイルを作成しました。このファイルでmysql_connect()は、データベースサーバーのパラメーターホスト、ユーザー名、およびパスワードを使用して関数を使用しています。

public class DatabaseConnect
{
function __construct()
{
    mysql_connect('localhost','username','password') or die('Could not connect to mysql server.');
    mysql_select_db('databasename');
}

}

この場合、ユーザー名とパスワードは他のユーザーに表示されます。

値を確保するもう 1 つの方法を見つけましmysql.default_usermysql.default_password。どのシナリオでこのようにする必要がありますか?

または、どうすれば自分の価値を他の人から守ることができますか?

4

2 に答える 2

10

適切な UNIX アクセス権が設定された別のファイル (たとえば 644) にデータベース資格情報を入れて、このファイルをスクリプトの先頭に含めることができます。

ファイルは次のconfiguration.phpようになります。

<?php
define (DB_USER, "mysql_user");
define (DB_PASSWORD, "mysql_password");
define (DB_DATABASE, "database_name");
define (DB_HOST, "localhost");
?>

元のスクリプトは次のようになります。

require ("configuration.php");
public class DatabaseConnect
{
function __construct()
{
    mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die('Could not connect to MySQL server.');
    mysql_select_db(DB_DATABASE);
}

}
于 2013-02-19T08:26:46.480 に答える
5

この場合、ユーザー名とパスワードは他のユーザーに表示されます。

ソースコードにアクセスできる人のみ。これは問題になりません。ただし、コードとデータベースの資格情報を分離する場合は、構成ファイルが Web ルートの外にあることを確認してください。

于 2013-02-19T08:24:04.290 に答える