Güvenli bu değişkeni çağırmak için en güvenli yolu gerektiren kullanarak daha iyi olurdu ne de mysql_connect kullanılacaktır benim değerleri saklamak için bir yer içeren veya başka bir şey vardı nedir?
teşekkürler :)
Bunu saklamak için en iyi yer IMO yani doğrudan erişilebilir değil, web kök dışında (farketmez bunu getirmek için require
veya include
kullanmak olsun) bir PHP dosyası olduğunu tarayıcı.
<?php
$db_server = "xyz";
$db_user = "def";
$db_password = "abc";
?>
If there is no access outside the web root
@ Yacoby onun cevabını bu aşağı yazdı. O zamandan beri silinen, ama kesinlikle ilgiyi hak ediyor.
Web kök dışında erişime izin vermez aptalca barındırma sağlayıcıları vardır. Bu durumda, web sitesinde bir dizinde config dosyasını koymak ve içeren bir .htaccess
dosyasını kullanarak onu korumak Deny from All
. Bu, çoğu hosting packacges çalışır. Eğer olsa bunu test emin olun, almalısınız bir 403 Forbidden
bu dosyaya erişmek için çalışırken.
Bu genellikle ne olduğunu:
$databases = array( "read" => array("host" => "127.0.0.1", "user" => "read", "pword"=> "secret", "dbase"=> "projectName"));
class Database extends PDO{ function __construct($database){ global $databases; $db = $databases[$database]; parent::__construct("mysql:dbname=".$db['dbase'].";host=".$db['host'], $db['user'], $db['pword']); } }
Şimdi veritabanı sınıf yapıcısı bir argüman olarak veritabanı kimlik birine dizi anahtarına geçebilir, ve daha sonra bu ayrıntılar ile imzalayacak. Bu veritabanına erişmek için birden fazla kullanıcıya (okumak için bir, ve yazma için bir) olabileceği anlamına gelir.