4

私が作成しているモジュールには、安全に保存する必要がある機密情報があります。リモート データベース ホスト、ユーザー名、およびパスワードです。

利用可能な唯一のストレージは Drupal データベース内にあるようです。これは、Drupal が侵害された場合、この他のデータベースも侵害されることを意味するため、私は心配しています。のsettings.phpファイルはsites/all/default2 番目のオプションでしたが、書き込みに問題があります。777 および 666 への FTP および SSH のさまざまなchmodコマンドは、ファイルを開いて書き込みを行いません。また、そこで設定した変数が他の場所で利用できるかどうかもわかりません。

この情報を安全に保存する他の方法はありますか?

4

3 に答える 3

3

うーん...これはあなたが一般的にすべきではないことのようです。アクセスできるリモートデータベースにあるAPIを記述します。

ただし、データベースへの直接アクセスを要求する場合。ホスト、ユーザー名、パスワードをファイルにハードコーディングし、ファイルをドキュメントルートの外に置き、そこから含めます。たとえば、ドキュメントルート(つまり、Drupalのindex.phpファイルがある場所)が/ www / htdocsである場合、情報を含むファイルを/ www / secureのような場所に置き、必要な場所に含めます。その後、何らかの理由でphpが機能しなくなった場合、ファイルは外部から読み取り可能な場所にありませんが、PHPは必要に応じてサイト内にファイルを含めることができます。

確かに誰かがあなたがファイルを含めているのを見るかもしれませんが、彼らがあなたのサーバーをハッキングしない限り(Drupalだけでなく)ファイル自体を見ることができません、そしてその状況では、とにかくあなたはかなり失敗しました。

于 2011-01-21T16:44:34.007 に答える
3

あなたはsettings.phpを使用して正しい軌道に乗っています。settings.phpの$conf変数を使用して、variable_get使用してモジュールでアクセスできる変数を設定できます。

于 2011-01-21T16:45:50.467 に答える
0

この種の情報には、構成ファイルを使用するのが理想的です。ただし、chmod 777 または 666 を実行するのは本当に悪い考えです。問題は、これらの設定の両方がファイルの GLOBALLY 読み取り/書き込みを許可することです。したがって、共有ホストを使用している場合、システム上の別のユーザーがファイルにアクセスする可能性があります。インストール時に、php の chmod() 関数を使用して、ファイルに対して chmod 500 を実行します。(500 はほとんどの場合に機能するはずです。最も重要な部分は、最後の数字が 0 であることです)。

于 2011-01-21T16:51:28.560 に答える