- 締切済み
パスワードファイルに与える権限
現在、PHPにて簡単な診断ソフトを作成しております。(PHP開発は初じめて。 実行環境は、OS:RHEL4、Apache2.2、PHP4、MYSQL4) とりあえず動作確認等は終ったのですが、同僚からDBへ接続する際の、ID・ パスワードをPHPに直接記述するのではなく、パスワードファイルを別に持ち、 そのファイルから読み込むようにした方が良いとの指摘を受けました。 また、パスワードファイルを置くフォルダについては、Webサーバ上のホーム ディレレクトリより上位に置いて、WEBから直接参照出来ない様にした方が 望ましいとの指摘も頂きました。(パスワードファイルのフォルダに対しては、 htaccessによるベーシック認証も掛ける予定) PHPアプリと同一フォルダ上にパスワードファイルを置いた時は、問題無く 読めましたが、上位フォルダに置いた時に、エラーが発生してしまいました。 記述したパス名も問題なく、原因が判りません。 ファイルの所有者・管理者・権限の設定等、変更をする必要があるのでしょうか? プログラミングとは関係無いかもしませんが、PHPで開発している事もあるので、 こちらに質問してみました。 ご指摘・アドバイス等、頂ければ幸いです。 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- gtx456gtx
- ベストアンサー率18% (194/1035)
>そもそも、データベースへ接続する為のユーザID・パスワードをPHPソースに記述したくないのが目的なので、それをデータベースへ保存してしまっては意味がないのでは・・・ 「ファイルの所有者・管理者・権限の設定等・・・」とあったので、ファイルという概念を使うよりはデータベースという概念が良いのでは? という回答です。 ソースコードに接続のためのユーザID・パスワードを記述する方法もありますが、記述しないでもデータベースを使えると思います。 それが普通でしょうね m(_ _)m
- bm_hiro
- ベストアンサー率51% (200/388)
俺なら permission Denied 出たら、とりあえず 0777にしてみて、どうなるか見て、それから絞っていきますね。
- bm_hiro
- ベストアンサー率51% (200/388)
正直、#1への#2の適切なツッコみが、ツボった俺がいます。 実行環境云々は、その環境でやるしか無いって前提があるのかな~と思ったり。 年季の入ったサーバーだけど、予算の関係でどーたらこーたらとか。 んで、補足をお願いしたいのですけど、なんてエラーでてますか? no such file or directory とかですか?
- oktuburero
- ベストアンサー率22% (102/446)
パスワードの置き方に気を遣う割にはシステム周りは気にしないのですね。 >実行環境は、OS:RHEL4、Apache2.2、PHP4、MYSQL4) RedHat社の方でメンテナンスをしているとはいえ公式でサポートが終了したPHP4系を使うことは 問題あります。 http://www.jp.redhat.com/support/errata/ RHEL4のサポート期間を考えてもそのソースがまともに利用できる期間はとても短い。 PHP5系やPHP5.3系に移行するとなるとすくなからずのソースの変更と新たなテストが必要になる。 >ファイルの所有者・管理者・権限の設定等、変更をする必要があるのでしょうか? PHPがどのユーザで実行されているか。 suPHPを利用して各ユーザで実行されているか。 それともモジュールとして実行してApacheユーザで実行されている? まぁココまで書けばプロとしてやっているなら必要な事がわかるはずだよね。 >確かに間違った指摘でないですが・・・今ならファイルではなく「データベース」に保存するのが良いと思います そのデータベースへの接続のためのユーザ名とパスワードをDBに保存してどうそのユーザ名とパスワードを取得する?
補足
システム周りは気にしない訳ではなく、出来ない状態です。 というのも、サーバ自体は既に稼働済み(別会社納入)。 しかも、公開されているWEBページも既に存在(別会社 作成)している環境なので、私共では手が出せない環境。
- gtx456gtx
- ベストアンサー率18% (194/1035)
>パスワードをPHPに直接記述するのではなく、 >パスワードファイルを別に持ち、そのファイルから読み込むようにした方が良い 確かに間違った指摘でないですが・・・今ならファイルではなく「データベース」に保存するのが良いと思います
補足
そもそも、データベースへ接続する為のユーザID・パスワードをPHPソースに記述したくないのが目的なので、それをデータベースへ保存してしまっては意味がないのでは・・・
補足
「permission Denied」のエラーが出たので、権限設定が違っていて 読み込めないと思うのですが。