2011-08-20 69 views
6

我是一名iPhone開發人員,我剛剛開始使用PHP & mysql(爲他人制作網站,爲我的應用程序製作網絡服務)。mysql連接 - 應該將用戶名/密碼硬編碼?

每當我硬編碼了用戶名和密碼進入PHP文件連接到數據庫,我覺得有點奇怪。例如:

$con = mysql_connect('localhost:8888','root','password'); 

我覺得這有點尷尬,如果我必須向任何人展示代碼。

  • 這是安全的或好的做法呢?
  • 是否有另一種方式我應該連接到數據庫?

我將是此問題相關的任何意見,非常感謝。

+0

[如何在PHP代碼中安全地存儲密碼?](http://stackoverflow.com/questions/1432545/how-to-safely-store-a-password-inside-php-code) –

+0

@Pekka略有不同 –

+0

然後另一個:[如何在PHP中保護數據庫密碼?](http://stackoverflow.com/q/97984)......底線是你懷疑在正確的軌道上 - 最好將數據存儲在單獨的包含文件中,理想情況是在Web根目錄之外。 –

回答

5

對於將要被重新分配它會更好,這些組一起,要麼讓他們爲常數或變量的腳本。

的config.php

<?PHP 
define('DBHOST', 'localhost'); 
define('DBPORT', '8080'); 
define('DBNAME', 'my_db_name'); 
define('DBUSER', 'root'); 
define('DBPASS', 'password'); 

db.php中

<PHP 
include('config.php'); 
$con = mysql_connect(DBHOST.':'. DBPORT,DBUSER,DBPASS); 
mysql_select_db(DBNAME, $con); 

這樣做會使人更容易做出,而不必通過代碼拖網尋找到任何連接在未來的變化由等

對於稍好安全的config.php腳本可以放在文檔根目錄,以便它不能被直接調用之外。

+0

就會把它變成是一個文件夾設置爲禁止robots.txt是可取的? –

+0

@Alex Coplan:禁止在robots.txt中?該文件應完全無法訪問網頁! – Dani

+0

@Dani,你會在哪裏存儲它? - 抱歉,我對web開發 –

2

我從來沒有將登錄信息硬編碼到PHP代碼中。我總是把它放在一個單獨的文件中,它被包含在實際的PHP代碼文件中。這樣你就不需要向任何人顯示登錄數據。如果有人試圖欺騙Web服務器,那麼讓文件稍微難一點。

相關問題