sql >> データベース >  >> RDS >> Mysql

MySQLクレデンシャルをPHPスクリプトのどこに保存しますか?

    $_SERVER['DOCUMENT_ROOT']であるWebルート PHPでは、Webサーバー(この場合はApache)が特定のホストを指すファイルシステム上のフォルダーです。

    たとえば、このコードをindex.phpファイルに入れて、ドメイン名(またはサブドメイン名)にアクセスすると、Webルートがわかります。

        <?php
        header("Content-Type: text/plain;charset=UTF-8");
        die($_SERVER['DOCUMENT_ROOT']);
        ?>
    

    /home/some_user/public_htmlのように表示されます。 または/var/www 。この場合、このディレクトリ内にないパスを作成する必要があります。

    例:/home/some_user/config または/var/webconfig

    あなたはしない /home/some_user/public_html/configに保存したい (public_htmlに注意してください)または/var/www/webconfig (これは/var/wwwのサブフォルダーであることに注意してください )

    Webルートの外部にデータを保存するという考え方は、攻撃者がhttp://yoursite.com/config/mysql.txtに移動できないというものです。 パスワードを取得します。 LFIおよびディレクトリトラバーサル攻撃は、このイニシアチブの範囲外です。

    機密情報(データベースのクレデンシャル、暗号化キーなど)をバージョン管理にチェックインしないでください。 これまで。

    PHPからそれらにアクセスする方法は?

    これは、構成がどのようにエンコードされているかによって異なります。

    <?php
    $config = parse_ini_file('/home/some_user/config/mysql.ini');
    // OR
    $config = json_decode('/home/some_user/config/mysql.json');
    // OR
    require_once '/home/some_user/config/mysql_config.php';
    ?>
    


    1. MySQLの日付形式DD/MM / YYYYクエリを選択しますか?

    2. 2020年の5つの珍しいMicrosoftAccessのヒント

    3. GROUPBYを使用しない集約クエリ

    4. カテゴリの管理やスレッドや投稿への投票など、より高度な機能の追加