Chỉ cần đưa vào ngữ cảnh để làm rõ câu hỏi chính: Trên máy phát triển của tôi, PHP5.3.1 được cài đặt trên Apache dưới dạng mô-đun, tôi sử dụng phát triển SetEnv APPLICATION_ENVIRONMENT trong tệp .htaccess gốc của ứng dụng của tôi. Sau đó, nó có thể dễ dàng truy xuất từ bất kỳ tập lệnh php nào bằng getenv ('APPLICATION_ENVIRONMENT'). Trên máy chủ sản xuất, trên máy chủ chia sẻ (dreamhost), tôi đã tự biên dịch php5.3.1 vì nó không được hỗ trợ trực tiếp. Mọi thứ đều hoạt động tốt ngoại trừ getenv ('APPLICATION_ENVIRONMENT') trả về false. Trong tệp .htaccess gốc của sharedhost cho miền của tôi, tôi sử dụng tệp .htaccess này
php5.cgi nằm trong / cgi-bin và hoạt động rất tốt. Tất nhiên trong thư mục gốc của ứng dụng của tôi, tôi có một .htaccess khác xác định:
Nhưng khi sử dụng getenv ('APPLICATION_ENVIRONMENT'), nó trả về false, bất kỳ ý tưởng nào để giải quyết vấn đề này? 16 hữu ích 1 bình luận 57k xem chia sẻ Đã đăng vào thg 3 21, 2019 1:49 SA 5 phút đọc Cách tốt nhất để lưu trữ dữ liệu nhạy cảm trong source code dự án của bạn là gì? Nếu bạn đề nghị lưu trữ dữ liệu vào tệp môi trường (.env), thì bạn đang đi đúng hướng. Bạn có thể không khó mã hóa dữ liệu nhạy cảm của mình trong source code, nhưng nhưng tệp tin dưới dạng text đơn giản rất dễ để bất kỳ ai cũng có thể có quyền truy cập nó. Điều gì sẽ xảy ra nếu chúng ta có thể mã hóa tệp tin môi trường và giải mã nó trong dự án của mình bất cứ khi nào chúng ta cần truy cập dữ liệu nhạy cảm của mình. Tôi sẽ chỉ cho bạn cách sử dụng thư viện secure-env-php để mã hóa các tập tin .env. Bạn sẽ cần phải tải xuống thư viện secure-env-php bằng cách sử dụng
Nếu bạn chưa tạo tệp .env, hãy thực hiện ngay bây giờ. Sau đó bạn sử dụng mở nó lên để nhập vào các dữ liệu config như thông tin database, api key, ... Ví dụ:
Sau khi bạn nhập dữ liệu của mình, hãy lưu tệp và bây giờ chúng ta có thể tiếp tục và đến phần thú vị. Mã hóaTôi đã include một PHP script trong thư mục Để chạy tập lệnh này, gõ như sau:
SetupTrong ví dụ này tôi sẽ sử dụng tệp index.php cơ bản . Chúng tôi sẽ bắt đầu với việc thêm
Điều này sẽ cho phép chúng ta import class SecureEnvPHP và khởi tạo nó.
Chúng tôi đang truyền ít nhất 2 đối số vào phương thức Retrieving .env valuesBây giờ chúng tôi đã khởi tạo lớp Chúng
ta có thể gọi hàm
Nếu bạn đang ở trong môi trường thử nghiệm, hãy thoải mái in ra biến để xem nó xuất ra giá trị mong đợi của bạn. Xin chúc mừng! Bây giờ bạn có thể đẩy tệp môi trường được mã hóa của mình môi trường production của mình mà không sợ nó bị xâm phạm. Bài viết được sưu tầm và lược dịch từ: https://medium.com/@johnathanmiller/securing-php-environment-variables-for-production-use-f867e584a1f9 All rights reserved |