こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

php経由のMySQL

php経由で、サーバー上のMySQLにアクセスします。
その場合の、MySQLへの接続アカウントの処理は、どうするべきなのでしょうか?

DBとのやり取りのコードは、サーバー上のphpファイルに書かれていますし、そのphpにアクセスしてデータをやり取りします。なので、MySQLへ接続する際のMySQLアカウント(ユーザー名とパスワード)が、php上に書かれています。

通常phpのコード自体は、ブラウザからは読めませんが、
アクセスできる場所にあるという時点で、セキュリティ上 問題があるのかなとも思います。

しかし、多くのサイトで、このような、webサーバー上のphpを通してMySQLにアクセスするのは、一般的な形だと思いますが、そのようなサイトでは、MySQLにアクセスするためのアカウントを、どのように管理しているのでしょうか?

当然、そのwebサイトへのログインアカウントとは別で管理されていると思うのですが・・・。

わかる方、よろしくお願いします。

投稿日時 - 2013-11-14 18:36:06

QNo.8347322

困ってます

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

とりあえずはlocalhostのuser権限だけにして、不要なテーブルにアクセスできない
ようなユーザーを設定しておけばよいかと
またアクセスできる場所に置きたくないならinclude_pathにクラス化しておいておいてください

投稿日時 - 2013-11-14 22:22:14

お礼

ありがとうございます。

なるほど、ローカルからしかアクセスできないアカウントであれば、万が一見られても危険性が小さくなるってことですね。

ちなみに、include_pathにクラス化しておくと、見られないんでしょうか??

投稿日時 - 2013-11-15 00:38:01

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>アクセスできる場所にあるという時点で、セキュリティ上 問題があるのかなとも思います。

アクセスできるといっても、それは「httpで」という話です。つまりApacheがphpを解釈して実行している限りは何の問題もありません。

どうしても気になるなら接続情報を外部ファイルにしてDocumentRootより上に(httpでアクセスできない場所に)置いて、それをincludeするという手もあります(が、レンタルサーバによってはDocumentRootより上の階層にアップロードできなかったりもしますので・・・)。

投稿日時 - 2013-11-15 08:47:51

お礼

ありがとうございます。

「Apacheがphpを解釈して実行している限り」という部分を
前提として、一般的なサイトのphpでも、ファイルの内容は読まれないという前提で作ることがプロの世界でもスタンダードな工法なのでしょうか。

自分は、個人的にプログラミングしているだけなので、プロの方達が一般的に行っている工法を知りたいのです。

接続情報をphpファイルに記述することは、一般的にアリなのでしょうか??

投稿日時 - 2013-11-17 23:59:16

あなたにオススメの質問