it-swarm-tr.com

Veritabanı parolasını bir PHP dosyasında saklamak güvenli mi?)

connection.php Dosyam veritabanına bağlanmak için gereken bilgileri saklıyor:

<?php 
    $objConnect = mysql_connect("localhost","username","password"); 
    mysql_select_db("selectDB", $objConnect);
?>

Bir sayfanın veritabanını bağlaması gerektiğinde sadece <?php include("connection.php"); ?> kullanıyorum.

Bu güvenli mi? Bilgisayar korsanları bu dosyadan kimlik bilgilerimi çalabilir mi?

32
OammieR

Tavsiyem: Parolaları kaynak kodunda saklamayın.

Bunun yerine, bunları bir yapılandırma dosyasında (web kökünün dışında) saklayın ve yapılandırma dosyasının herkese açık olmadığından emin olun. Bunun nedeni, normalde parolalarınızı kaynak kodu deposunda işaretli veya web kökünüzdeki dosyaları görüntüleyebilen herkese açık tutmak istememenizdir.

Parolaları bir .php dosyası webroot'unuzda var, bu biraz belirsiz ama dosyayı web kökünüzün dışına yerleştirerek kolayca önlenebilir. Şunları düşünün: connection.php bir metin düzenleyicisi kullanarak ve düzenlerken bağlantınız kesilirse, düzenleyiciniz otomatik olarak connection.php yedek dosyadaki bir dosya: örneğin, connection.php~ (aynı dizinde). Şimdi yedekleme dosyasının farklı bir uzantısı var, bu yüzden birisi bu dosyayı almaya çalışırsa, Apache sunucusu mutlu bir şekilde dosyanın bir kopyasını düz metin olarak sunarak veritabanı şifrenizi gösterir. Ayrıntılar için bkz CMS Destekli Sitelerin% 1'i Veritabanı Parolalarını Gösterir .

Ayrıca bkz Açık kaynaklı projeler güvenli yapay nesneleri nasıl ele alır? , Açık Kaynak ve güvenli projeler için nasıl çalışır?

35
D.W.

Oldukça güvenli. Php dosyasının içeriğini almak için, bir bilgisayar korsanının sunucunuzun güvenliğini aşması veya dosyayı yanlış yapılandırmanız gerekir.

Yine de mysql'i komut dosyası tarafından kullanılan kullanıcının uzaktan erişilemeyeceği şekilde yapılandırmanızı ve yönetimsel uzaktan erişim için farklı bir kullanıcı kullanmanızı öneririm.

11
CodesInChaos

Sorun, sunucunuzdaki dosyaları indirebilecek bir PHP komut dosyanız varsa, ör. download.php?=index.php.

Google'ı kontrol ederseniz, bu güvenlik açığının başka birçok sitede bulunduğunu göreceksiniz.

5
Victor Casé