Mengapa setting.php ada di folder web?

8

Di instalasi default, settings.php terletak di sites/default/. Tidak ada rekomendasi di situs web Drupal resmi tentang mengubah lokasi file ini. Bukankah itu menimbulkan masalah keamanan potensial? Saya telah melihat webservers Apache akhirnya gagal menafsirkan file PHP, dan menyajikan konten file PHP dalam format teks / polos murni, bukannya konten HTML yang seharusnya. Itu akan benar-benar mengekspos pengguna koneksi basis data dan kata sandi, yang bahkan tidak dienkripsi. Mengapa bisa seperti ini?

Cesar
sumber

Jawaban:

6

Anda benar sekali. Saya tahu pasti bahwa banyak pengembang / sysadmin tidak mengambil risiko bahwa penerjemah PHP mungkin gagal di beberapa titik, dan termasuk kata sandi db (dan data sensitif lainnya seperti kunci API) dari file di luar server web server.

Saya terkejut bahwa ini tidak didokumentasikan sebagai praktik terbaik di mana pun - setidaknya saya tidak dapat menemukannya di drupal.org. Saya tidak punya informasi mengapa ini bekerja seperti itu.

marcvangend
sumber
6
Saya ingat pernah melihat diskusi antara para pengembang inti / terkenal beberapa tahun yang lalu di mana mereka berargumen menentang pemindahan data sensitif dari root web. Saya ingat cukup ngeri saat itu. Jika ingatan saya benar, saya pikir argumen itu terkait dengan Drupal perlu bekerja di luar kotak pada shared hosting, dan rekomendasi ini akan membuat lebih sulit untuk direalisasikan untuk massa atau sesuatu seperti itu. Saya akan melihat apakah saya dapat menemukan diskusi itu
Clive
1
Terima kasih @Clive. Saya tidak ingin menambahkan spekulasi pada jawaban saya, tetapi seperti yang Anda katakan, persyaratan untuk bekerja di luar kotak pada semua jenis lingkungan tampaknya merupakan alasan yang paling mungkin untuk memiliki pengaturan. Php di dalam dokumen.
marcvangend
Ya, @marcvangend, ini adalah apa yang saya pikirkan sendiri, tetapi entah bagaimana prosedur otomatis mungkin tersedia selama instalasi yang memeriksa apakah ada izin menulis / pemilik yang sesuai di tingkat server, dan jika ini masalahnya, untuk memberikan keamanan tambahan, dengan cara yang standar dan dikontrol (melalui metodologi inti).
Cesar
0

Pada beberapa penyedia string koneksi sensitif ini disimpan eksternal ke root web (yaitu, getpantheon.com) Anda selalu dapat membuat beberapa tautan simbolis daripada menyimpan langsung di / situs / folder default.

fndtn357
sumber