• ベストアンサー

PHPファイルにIDやパスワードを書き込んでも問題ないのでしょうか?

初歩的な質問ですがよろしくお願いします。 mysqlに接続するユーザー名とパスワードをphpファイルに直接書き込んでいます。 そのphpファイルはpublic以下にアップロードしてあるので誰でもアクセス可能です。 XOOPSなどでもそのような状況だと認識しています(違ったらすいません) こういう状態は問題あるのでしょうか? また、皆さんはどのように対処しているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

pubulic以下にあり、WEBアクセスが可能な状態であったとしても、 <?php $user = "hogehoge"; $pass = "password"; ?> と言うスクリプトは真っ白にしか表示されません。 このユーザ名とパスワードをみる術は、1) PHPを無効にする 2) WEB以外のFTPやSSH等でアクセスして見る 3) 別のPHPからインクルードしてecho $user等と表示させる 等の方法が考えられます。 いずれの方法でも通常のWEBアクセスでは見る事が出来ません。サーバをクラックするか、別ユーザとしてログインして別ユーザのファイルを除き見ると言う事になります(当然、一般的なレンタルサーバでは見る事は出来ない設定にしてあると思います)。 WEBサーバのルートディレクトリ以外にファイルを置いておいたらどうでしょう。セキュリティ的にはあまり変わらないと思います。FTPやSSHでログインされてしまえば、どこにおいてあろうと、結局は見る事が出来ます。同じ事です。 このような観点から、恐らくXOOPS等では設定ファイルを自動的に作成し、pubulic領域においておくのだと思います。特に問題があると言う事ではないと思います。 # そうは言っても、自分でスクリプトを作る時はセオリー通りpubulic以下に置かないようにしたりしますけどね (笑。

yes87
質問者

補足

よく分かりました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • racci
  • ベストアンサー率64% (9/14)
回答No.1

参考URLを見てください。 以下が基本だと思います。 ・public以下には最低限のスクリプトしか置かない。 ・DBのユーザ名やパスワードは設定ファイルに記述する。  設定ファイルはpublic以下には置かない。 #XOOPSはどうなのかは知りません。

参考URL:
http://oshiete1.goo.ne.jp/qa2885423.html
yes87
質問者

補足

全く同じ質問の方がいたんですね・・・・ どうもありがとうございました。 もしDB設定ファイルをドキュメントルート外に置く方法が書かれているサイトがあったら教えて頂けると幸いです。 一般的なレンタルサーバーだと難しいと思うのですが、どうなんでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A