Belge kök hassas bilgiler

3 Cevap php

Diyelim ki bir DB kullanıcı şifre gibi hassas bilgileri tutan bir config.php var diyelim. Bu doğru, belge kök bu dosyayı saklamak için tavsiye edilmez?

Bunun neden böyle olduğunu ve bu belge kök index.php hassas bilgileri depolamak için daha güvenli bir yaklaşımdır?

3 Cevap

Benim için, akla gelen ilk senaryo kullanıcıların indirmek veya görünüm. Php dosyalarını, yerine onları ayrıştırmak ve text / html olarak sunmanızı sağlayan bir yanlış olduğunu. Eğer bir yükseltme gerçekleştirmek söyle, bir şey yanlış giderse, ve Apache betikleri ayrıştırma artık. Biri Apache düz metin olarak PHP dosya gönderme olduğunu fark, ve config.php açın ve kaynak kodunu görmek (ve içindeki tüm hassas veritabanı yapılandırma parametreleri) yapabiliyor.

Bu config.php daha index.php yapılandırma verilerini depolamak için daha güvenli bir yaklaşım değil; ikisi de PHP şekilde kendi içeriğini ayrıştırmak için başarısız olursa görüntülenen eşit yatkındır. Yapılandırma verileri için ayrı bir dosya kullanarak avantajı etkili HTTP protokolü üzerinden okuma ve PHP ayrıştırma olmasa bile veri güvenli (r) tutarak önleme kimse, ona erişimi sınırlandırabilir olmasıdır.

Biraz daha bu fikir almak. İdeal Eğer kod temeli erişen basit bir script daha fazla mağaza ve web kök görüntüleri ve css gibi statik dosyaları olmaz.

eg:

webroot/index.php
webroot/images/img1.jpg
webroot/images/img2.jpg
webroot/css/base.css

lib/myclass1.php
lib/myclass2.php

Ve index.php bu gibi bir şey olacaktır:

<?php
$CODEBASE = '/usr/home/wwwuser/wherever/it/is';

include $CODEBASE."/lib/myclass1.php";

$code = new MyClass1();
$code->doStuff();

?>