PHP cách lưu trữ mật khẩu trong cơ sở dữ liệu

Chúng tôi sắp đưa một trong các trang ProcessWire của mình vào hệ thống kiểm soát nguồn dựa trên Git. Kho lưu trữ là riêng tư, nhưng tôi vẫn muốn giữ mật khẩu khỏi nó. Tôi đã suy nghĩ về cách xử lý mật khẩu cơ sở dữ liệu trong /site/config. php [Tôi đã đọc tài liệu về bảo mật cấu hình. chính tệp php]. Tôi đã nghĩ đến các lựa chọn sau

  1. Chỉ cần để lại cấu hình. php nguyên trạng, với mật khẩu cơ sở dữ liệu ở dạng văn bản thuần túy. Đảm bảo cấu hình. php được thêm vào. tập tin gitignore. [Nhưng tôi thực sự muốn có cấu hình. php trong kiểm soát nguồn vì nó rất quan trọng đối với hoạt động của hệ thống. ]
  2. Tạo một tệp PHP bên ngoài thư mục gốc của web, chẳng hạn như mật khẩu. php, chứa hàm databasePassword[]. Bao gồm tệp này từ cấu hình. php và tham chiếu hàm. [Tôi không thích điều này vì nó tạo ra một sự phụ thuộc có thể mơ hồ bên ngoài thư mục trang web. ]
  3. Đặt mật khẩu cơ sở dữ liệu trong một biến môi trường trong tệp cấu hình PHP-FPM [env[DB_PASSWD] = MyPassword]. Sau đó sử dụng hàm getenv[] của PHP trong cấu hình. tập tin php. [Có thể không an toàn lắm và sau đó không hoạt động khi API ProcessWire được truy cập từ một tập lệnh độc lập. ]
  4. Đặt mật khẩu cơ sở dữ liệu trong một biến môi trường được xác định trong. tập tin bashrc. Sử dụng hàm getenv[] trong cấu hình. php. [Có thể không an toàn lắm. ]
  5. Đặt mysql. default_pw trong php. ini [Nhận xét trong tệp này nói rằng đây sẽ là một ý tưởng tồi. ]

Không có tùy chọn nào trong số này có vẻ lý tưởng. Có ai có bất cứ đề nghị?

Chúc mừng,

Warwick

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Craig

Đăng ngày 16 tháng 11 năm 2021

Craig

  • Các thành viên
    • 371
    • 647
  • Vị tríNewcastle Upon Tyne, Vương quốc Anh

    • Chia sẻ

Đăng ngày 16 tháng 11 năm 2021

Đây là những gì tôi làm, gần giống như [2]

trang web/cấu hình. php

Chủ Đề