ARMUT: DB bağlantı parametrelerini

3 Cevap php

Ben sadece benim ilk PHP sitesi tamamlandı ve şimdi ben güvenlikle ilgili bir sorum var. Veritabanı bağlantısı için DB ve bunun için ayrı bir parametre dosyası yaptı: Ben PEAR kullanılır. Nasıl bu parametre dosyayı gizlemek gerekir?

Ben diyor bir rehber (http://www.kitebird.com/articles/peardb.html) bulundu:

Another way to specify connection parameters is to put them in a separate file that you reference from your main script. ... It also enables you to move the parameter file outside of the web server's document tree, which prevents its contents from being displayed literally if the server becomes misconfigured and starts serving PHP scripts as plain text.

Ben şimdi bu / include / db_parameters.inc gibi bir dizine dosyamı koydum

Ben bu URL'ye gitmek Ancak, web sunucusu bana veritabanı kullanıcı adı ve parola da dahil olmak üzere dosyanın içeriğini gösterir.

Anladım kadarıyla, ben PHP metin olarak hizmet olacağını rağmen, kimse bu okuyabilir, böylece bu dosyayı korumak gerekir.

Web sunucusunun belge ağacının dışında burada ne demek? Sunucu dosya sistemi içine tamamen derin public_html dizininin dışında PHP dosyası koymak? Bazı CHMOD?

3 Cevap

/include/db_parameters.inc bu durumda / belge kök eklemek için önce /var/www/include/db_parameters.inc parçası gibi bir gerçek yoluna karşılık, bir URI. PHP $_SERVER['DOCUMENT_ROOT'] geçerli belge kök depolar

Bu durumda, belge kök dışında yukarıda belirtilen olandan başka bir dizinde bir dosya olacaktır.

Eğer deneyebilirsiniz / include / db_parameters.inc.php de dizinin içerdiği ne görmek mümkün olmaktan kimse önlemek için bu dizinde boş bir index.php / html dosyası bulunmaktadır.

Belge ağacının dışında dosya belge kök veya belge kök herhangi bir alt klasör olmamalıdır anlamına gelir. Sen db_parameters.inc ve belge ağacının içine bırakmak erişimi yasaklamak için. Htaccess dosyasında bir kural kurmak olabilir, ancak bu muhtemelen en iyi başka bir gün için sol bir egzersiz var.