アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

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

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

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

A 回答 (2件)

とりあえずはlocalhostのuser権限だけにして、不要なテーブルにアクセスできない


ようなユーザーを設定しておけばよいかと
またアクセスできる場所に置きたくないならinclude_pathにクラス化しておいておいてください
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

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

お礼日時:2013/11/15 00:38

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



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

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

ありがとうございます。

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

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

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

お礼日時:2013/11/17 23:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!