0

私はいくつかのphpスクリプトを作成しています。同じデータベースとテーブルのすべてのスクリプトに、常にホスト、ユーザー名、パスワードなどを挿入する必要がありますか?1行だけで参照する方法や他の方法はありますか?この情報を隠す方法はありますか?

$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");
4

2 に答える 2

3

PHP ファイルが実行されるため、ソース コードは Web からは見えませんが、偶発的な構成ミスにより、これが変更される可能性があります。DB 構成をwbeserver のドキュメント ルート ディレクトリの外にある別のファイルに配置し、 PHP のrequireコマンドを使用してそれを他のスクリプトに含めることができます。

ただし、PHP の構成によっては、PHP スクリプトが docroot の外部にあるファイルにアクセスできない場合がありますが、これを回避する方法があります。このSOの質問では、これらの問題について詳しく説明しています

于 2012-04-21T21:47:12.033 に答える
1

認証情報を 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 );

?>
于 2012-04-21T23:02:35.957 に答える