メンバーメニュー

ようこそ、ゲストさん

質問

  • フリー PHP+MySQL

    DBパスワードの保管場所
  • 本文:

    DBパスワードのような秘匿情報はどのように保管するのが適切でしょうか?

    #ドキュメントルートより上にはファイルを置けそうにないので。

  • 緊急度:通常投稿者:フルフラットさん投稿時間:2021/03/09 18:35
質問に対する回答は締め切られました

回答 No.10966

  • この回答がベストアンサーです

  • 本文:

    >ドキュメントルートより上に置く方法

    FTPからアクセスできないだけで、PHPとかからならアクセス可能なはず。

    有料プランでは、動作した。



    <?php
    $dat = <<<'EOM'
    <?php
    $db_user='test';
    $db_pass='passwd';
    EOM;

    file_put_contents("../config.php",$dat);


    階層の1つ上にconfig.phpを作成



    <?php
    include('../config.php');

    echo $db_user;
    echo "\n<br/>";
    echo $db_pass;


    で、階層の1つ上のファイルをインクルードする



    https://www.php.net/manual/ja/function.copy.php

    PHPのファイルのコピーで、1つ上の階層にコピーしても
    実現可能だと思う。


    https://www.star.ne.jp/free/manual/homepage_php_1.php








  • 投稿者:k-tanさん 投稿時間:2021/03/11 13:49
質問者からのコメント

本当に、わざわざありがとうございます!

これで、外部からは決して見えないところに情報を保管できます。

回答 No.10955

  • 本文:

    Wordpressの場合は、「wp-config.php」に書かれてるようですけどね

    https://ja.wordpress.org/support/article/editing-wp-config-php/


  • 投稿者:k-tanさん 投稿時間:2021/03/09 21:51
質問者からのコメント

ご回答ありがとうございます。

ここのWordPressはドキュメントルート下にインストールされるようなので、結果として設定ファイルもドキュメントルート下に置かれるわけですね。

サーバーの設定さえ間違っていなければphpファイルであれば直接アクセスされても空ファイルを返すだけでしょうし、仮にパスワードが漏洩してもDBが外部に公開されていなければ、問題にはならいという判断なのでしょうね。

#他にも「こういう方法があるよ」という方が居られれば、よろしくお願いします。

回答 No.10964

  • 本文:

    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E5%AE%89%E5%85%A8%E6%80%A7%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B


    wordpressでも、ドキュメントルートより上に置く方法がありますが
    それ以外にも、上記のようにする方法もあります。


  • 投稿者:k-tanさん 投稿時間:2021/03/11 00:26
質問者からのコメント

これは良さそうですね。検討してみます。

#余談

「ドキュメントルートより上に置く方法」というのはWordPressに機能があるということで、ここの環境で可能かどうかは別の話ですよね。

管理ツールのサーバー情報で表示される「ホームディレクトリ」がドキュメントルートであると理解しているのですが、そうするとドキュメントルートの上って「/home」なわけで...

ホームディレクトリの下にドキュメントルートが在って、ホームにもアクセスが出来るというのであれば万々歳なのですが。

#あと、わざわざ調べていただかなくても結構ですからね (^-^;)
#「知っていれば」で結構ですので。

ご回答、ありがとうございます。

回答 No.10967

  • 本文:

    >「ホームディレクトリ」がドキュメントルートであると理解しているの
    >ですが、そうするとドキュメントルートの上って「/home」なわけで...

    <?php
    echo dirname(__FILE__);

    とかで、実際に確認されては?




  • 投稿者:k-tanさん 投稿時間:2021/03/11 14:16