Tại sao settings.php trong thư mục web?


8

Trong cài đặt mặc định, settings.php được đặt tại sites/default/. Không có khuyến nghị nào trong trang web chính thức của Drupal về việc thay đổi vị trí của tệp này. Nó không đặt ra một vấn đề tiềm năng của bảo mật? Tôi đã thấy các máy chủ web Apache cuối cùng không thể giải thích các tệp PHP và phục vụ nội dung của tệp PHP ở định dạng thuần văn bản / văn bản, thay vì nội dung HTML được cho là. Điều đó sẽ hoàn toàn phơi bày người dùng và mật khẩu kết nối cơ sở dữ liệu, thậm chí không được mã hóa. Tại sao nó hoạt động theo cách này?

Câu trả lời:


6

Bạn hoàn toàn chính xác. Tôi biết rằng thực tế là nhiều nhà phát triển / sysadins không gặp rủi ro rằng trình thông dịch PHP có thể bị lỗi tại một số điểm và bao gồm mật khẩu db (và dữ liệu nhạy cảm khác như khóa API) từ một tệp bên ngoài docroot của máy chủ web.

Tôi ngạc nhiên rằng điều này không được ghi nhận là một thực tiễn tốt nhất ở bất cứ đâu - ít nhất tôi cũng không thể tìm thấy nó trên drupal.org. Tôi không có thông tin tại sao nó hoạt động theo cách nó làm.


6
Tôi nhớ đã thấy một cuộc thảo luận giữa các nhà phát triển cốt lõi / nổi tiếng một vài năm trước, nơi họ lập luận chống lại việc di chuyển dữ liệu nhạy cảm ra khỏi web root. Tôi nhớ lúc đó khá kinh hoàng. Nếu bộ nhớ phục vụ cho tôi đúng, tôi nghĩ rằng cuộc tranh luận có liên quan đến việc Drupal cần phải giải quyết vấn đề lưu trữ chia sẻ, và những khuyến nghị này sẽ khiến việc nhận ra điều đó trở nên khó khăn hơn đối với số đông hoặc đại loại như thế. Tôi sẽ xem liệu tôi có thể tìm thấy cuộc thảo luận đó không
Clive

1
Cảm ơn @Clive. Tôi không muốn thêm suy đoán vào câu trả lời của mình, nhưng như bạn nói, yêu cầu làm việc vượt trội trên tất cả các loại môi trường dường như là lý do rất có thể có cài đặt.php trong docroot.
marcvangend

Có, @marcvangend, đây là những gì tôi nghĩ, nhưng bằng cách nào đó, một quy trình tự động có thể có sẵn trong quá trình cài đặt để kiểm tra xem có quyền ghi / chủ sở hữu phù hợp ở cấp máy chủ hay không, và nếu đây là trường hợp, để cung cấp bảo mật bổ sung, theo cách thức được kiểm soát và kiểm soát (thông qua phương pháp cốt lõi).
Cesar

0

Trên một số nhà cung cấp, chuỗi kết nối nhạy cảm này được lưu trữ bên ngoài vào gốc web (ví dụ: getpantheon.com) Bạn luôn có thể tạo một số liên kết tượng trưng thay vì lưu trữ trực tiếp trong / site / thư mục mặc định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.