0

MySQLパスワードはGithubで公開されているため、PHPソースコード内で難読化しようとしています。これが私がしたことです:

$pword = file_get_contents('../.brown_bag');
$obj->password = $pword;

これは機能しません。アクセス拒否エラーが発生します。ファイル、、に.brown_bagは、文字のみの文字列を含む1行のみが含まれています。file_get_contents()期待したデータが返されないことは間違いありません。私は簡潔で単純なコードを書き込もうとしていたので、fopenリグマロール全体を避けてきました。なぜこれが機能しないのですか、そしてより良い方法がありますか?

4

2 に答える 2

0

あなたのコードは問題ないようです。考えられる唯一の問題は、ファイル パスが正しくないことです。これを確認するには、(C:\a\b\c.brown_bag または /home/user/.brownbag) のようにファイルの絶対パスを指定します。

上記が機能する場合は、そのパスの問題が確実になります。そうでない場合は、正確なエラーが発生し、デバッグによって報告されます。

より良い方法: パスワードは常に構成ファイルに入れる必要があります。構成ファイルは、何らかの変更があるまで git でコミットされないファイルです。パスワードを取得するには、構成ファイルをローカルで編集する必要があります。ただし、設定ファイルとして .brown_bag を使用していると思います。それでも、いくつかのより良い命名規則を提案します。より良いのは、構成ファイルをphpファイルとして作成し、パスワードを配列または定数として定義するか、単に構成ファイルで定義することです。

于 2012-09-11T15:21:15.197 に答える
0

なぜ機能しないのか、ファイルから読み取った値をエコーアウトしてみましたか? スペースや改行のような単純なものかもしれないので、試してみてください:

$obj->password = trim($pword);

別の方法は、実際の設定ファイルではなく、サンプルの設定ファイルを github に追加することconfig.php.exampleです。たとえば、空の値またはサンプルの値を追加するだけです。

于 2012-09-12T14:21:21.510 に答える