Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lưu trữ thông tin đăng nhập MySQL trong tập lệnh PHP ở đâu?

Gốc web của bạn, là $_SERVER['DOCUMENT_ROOT'] trong PHP, là thư mục trên hệ thống tệp của bạn mà máy chủ web của bạn (trong trường hợp này là Apache) trỏ đến cho một máy chủ cụ thể.

Ví dụ:nếu bạn đặt mã này trong tệp index.php và truy cập vào tên miền của bạn (hoặc tên miền phụ), nó sẽ cho bạn biết gốc web của bạn.

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

Nó sẽ nói một cái gì đó như, /home/some_user/public_html hoặc /var/www . Trong trường hợp này, bạn muốn tạo một đường dẫn không nằm trong thư mục này.

Ví dụ:/home/some_user/config hoặc /var/webconfig .

Bạn KHÔNG muốn lưu trữ nó trong /home/some_user/public_html/config (lưu ý public_html) hoặc /var/www/webconfig (lưu ý rằng đây là một thư mục con của /var/www )

Ý tưởng lưu trữ dữ liệu bên ngoài gốc web của bạn là kẻ tấn công không thể điều hướng đến http://yoursite.com/config/mysql.txt và lấy mật khẩu của bạn. LFI và các cuộc tấn công truyền qua thư mục không nằm trong phạm vi của sáng kiến ​​này.

Bạn cũng không nên kiểm tra bất kỳ thông tin nhạy cảm nào (thông tin đăng nhập cơ sở dữ liệu, khóa mã hóa, v.v.) vào kiểm soát phiên bản. Đã từng.

Làm cách nào để truy cập chúng từ PHP?

Điều đó phụ thuộc vào cách cấu hình của bạn được mã hóa.

<?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. Trình duyệt Neo4j

  2. Truy vấn MySQL với câu lệnh điều kiện?

  3. Sử dụng 'OR' giữa mệnh đề HAVING và WHERE trong MySQL?

  4. Nối dữ liệu vào trường cơ sở dữ liệu MySQL đã có dữ liệu trong đó

  5. Cách thiết lập kết nối MySQL từ xa