2011-03-04 113 views
1

其中一個項目需要我加密數據庫連接字符串(用戶名爲&密碼)。加密/安全數據庫連接字符串在php

通常我使用.htaccess限制用戶訪問網頁。 但是這個項目想讓我把userid &密碼保存在明文中。

+0

看看[用php安全地連接到mysql的最佳方式](http://stackoverflow.com/questions/3710511/best-way-to-connect-to-mysql-with-php-securely)。我沒有投票結束重複,因爲它有一個稍微不同的重點,但它應該完全回答你的問題。 – 2011-03-04 08:58:02

回答

2

這是不可能的。

如果您使用mcrypt加密MySQL密碼,只有解密該MySQL密碼的方法是使用您的密碼mcrypt密碼,顯然,密碼也會存儲在某個PHP腳本或服務器上的其他地方。

誰有權訪問服務器或可以讀取腳本將獲得MySQL密碼或用於解密MySQL密碼的任何其他密碼。

如果您的項目需要您以明文形式存儲密碼,請向項目經理了解此邏輯問題 - 我如何解密密碼以及如何存儲密碼以解密密碼。

0

如果擴展可用的服務器上,你可以使用mcrypt 存儲用戶名和密碼在網站根目錄之外的文件加密後,讀/它mcrypt的

寫爲例:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
$key = "This is a very secret key"; 
$text = "myusername"; 
echo $text . "\n"; 

$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); 
echo $crypttext . "\n"; 

結束當然mcrypt_decrypt讓你得到原始字符串。