Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Di mana menyimpan kredensial MySQL dalam skrip PHP?

Akar web Anda, yaitu $_SERVER['DOCUMENT_ROOT'] di PHP, adalah folder di sistem file Anda yang ditunjuk oleh server web Anda (dalam hal ini, Apache) untuk host tertentu.

Misalnya, jika Anda memasukkan kode ini ke dalam file index.php dan mengunjungi nama domain Anda (atau nama subdomain), kode tersebut akan memberi tahu Anda root web Anda.

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

Itu harus mengatakan sesuatu seperti, /home/some_user/public_html atau /var/www . Dalam hal ini, Anda ingin membuat jalur yang tidak ada di dalam direktori ini.

Misalnya:/home/some_user/config atau /var/webconfig .

Anda TIDAK ingin menyimpannya di /home/some_user/public_html/config (perhatikan public_html) atau /var/www/webconfig (perhatikan ini adalah subfolder dari /var/www )

Ide menyimpan data di luar root web Anda adalah bahwa penyerang tidak dapat menavigasi ke http://yoursite.com/config/mysql.txt dan dapatkan kata sandi Anda. LFI dan serangan traversal direktori tidak termasuk dalam cakupan inisiatif ini.

Anda juga tidak boleh memeriksa informasi sensitif apa pun (kredensial basis data, kunci enkripsi, dll.) ke dalam kontrol versi. Pernah.

Bagaimana cara mengaksesnya dari PHP?

Itu tergantung bagaimana konfigurasi Anda dikodekan.

<?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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan fatal:Tidak dapat mendeklarasikan ulang session_start() di functions.php baris 25

  2. Bagaimana cara terbaik mendesain REST API dengan banyak filter?

  3. Perbarui MySQL dengan kondisi if

  4. Apa itu MySQL? – Pengantar Sistem Manajemen Basis Data

  5. Cara Mendapatkan Rekam dengan Nilai Maks di MySQL