php連接數(shù)據(jù)庫(kù)密碼加密,mysql數(shù)據(jù)庫(kù)用戶密碼加密

php連接數(shù)據(jù)庫(kù)安全嗎源碼

安全。php連接數(shù)據(jù)庫(kù)有三層密碼層層防護(hù),源碼很安全。數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”,是一個(gè)長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的集合。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、興寧網(wǎng)站維護(hù)、網(wǎng)站推廣。

請(qǐng)PHP高手來(lái)解決,連接數(shù)據(jù)庫(kù)用戶登錄程序,。要求MD5密碼加密

mysql_query($db);

這是要干什么啊?把這句去掉;

$sql="select *from user where name=$username and password=$pws;"

改成

$sql="select * from user where name='".$username."' and password='".$pws."'";

1.*號(hào)后邊應(yīng)該有空格;

2.最后的分號(hào)應(yīng)該在引號(hào)外邊;

3.查詢語(yǔ)句中的字符串應(yīng)該加引號(hào);

試試看

另外提兩點(diǎn)建議:

1 $db=mysql_select_db("B");

寫成 $db=mysql_select_db("B",$link);

養(yǎng)成個(gè)好習(xí)慣,省得到用到多個(gè)數(shù)據(jù)庫(kù)時(shí)容易亂;

2.$_SESSION["name"]="2";//先將值定義為假//

定義為假的時(shí)候直接 $_SESSION["name"]="" 就好了,要不多亂啊。

3. if($row==1)

{

$_SESSION["name"]="1";

}

else $_SESSION["name"]="2";

前邊已經(jīng)定義完 $_SESSION["name"]="2 了 后邊這個(gè) else 就沒(méi)有必要寫了啊。

你應(yīng)該先定位是哪里錯(cuò)了啊,在每個(gè)數(shù)據(jù)庫(kù)操作語(yǔ)句后邊都加上, or die(mysql_error());

根據(jù)錯(cuò)誤提示看看錯(cuò)誤出在哪,看不懂的話把錯(cuò)誤提示語(yǔ)句一起發(fā)上來(lái),效率會(huì)更高 呵呵。

你應(yīng)該先看看執(zhí)行的是那條語(yǔ)句,然后看看執(zhí)行這條語(yǔ)句的條件,這樣往前推,你的錯(cuò)誤也有可能在登錄頁(yè)面上,仔細(xì)找找多看幾遍代碼你一定能找到的。

PHP腳本中的鏈接數(shù)據(jù)庫(kù)的用戶名跟密碼怎么加密?

不需要加密,也無(wú)法加密??梢赃@么說(shuō),如果數(shù)據(jù)庫(kù)和程序是在同一服務(wù)器,及數(shù)據(jù)庫(kù)的地址是localhost,那么無(wú)需加密,因?yàn)榧用芰藬?shù)據(jù)庫(kù)并不能自己解密,而且只要網(wǎng)站或者服務(wù)器不被攻下,沒(méi)有加密的必要。

數(shù)據(jù)庫(kù)和php程序在不同的服務(wù)器,就是說(shuō)你在操作數(shù)據(jù)庫(kù)的時(shí)候需要遠(yuǎn)程操作,這樣的話需要傳輸數(shù)據(jù)庫(kù)賬號(hào)密碼,可以在本地加密后傳輸,然后在數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行解密后,用原始的賬號(hào)密碼去操作數(shù)據(jù)庫(kù)。

--------------------------------------------------------一般來(lái)說(shuō),如果你擔(dān)心服務(wù)器被攻下,那么你加密數(shù)據(jù)庫(kù)賬號(hào)密碼是多余的,因?yàn)槿思蚁螺d你的源碼一看就知道鳥(niǎo)。

各位用php將密碼存入數(shù)據(jù)庫(kù),都用什么方法進(jìn)行加密的

php將密碼存入數(shù)據(jù)庫(kù),可以分內(nèi)常見(jiàn)的4種方式:

1、直接md5加密存到到數(shù)據(jù)庫(kù)

2、md5兩次存到數(shù)據(jù)庫(kù)

3、對(duì)需要加密的字符串和一個(gè)常量 進(jìn)行混淆加密

4、生成一個(gè)隨機(jī)的變量存到數(shù)據(jù)庫(kù)中,然后對(duì)需要加密的字符串和這個(gè)隨機(jī)變量加密

?php$str="admin"; //需要加密的字符串$str2="php"; //增加一個(gè)常量混淆 $pass1=md5($str);$pass2=md5(md5($str));$pass3=md5($str.$str2);echo $pass1."br".$pass2."br".$pass3;?

輸出:

第四種

$str="admin"; //需要加密的字符串$encrypt=$row['encrypt']; // 生成的 隨機(jī)加密字符串 存到數(shù)據(jù)庫(kù)中$pass4=md5($str.$encrypt);// 8db2ec7e9636f124e56f7eb4d7b7cc7e

用php將密碼存入數(shù)據(jù)庫(kù),用什么方法進(jìn)行加密?

題主你可以使用 md5 或者 sha1 進(jìn)行初步處理,但為了更加安全,請(qǐng)你同時(shí)加上兩個(gè) salt,一個(gè)靜態(tài) salt,一個(gè)動(dòng)態(tài)的 salt。以 md5 為例:

假設(shè)通過(guò) POST 傳來(lái)的密碼為 $_POST['password'],在存入 DB 前先進(jìn)行如下的操作:

$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);

為了保證動(dòng)態(tài) salt 的唯一性,可以這樣操作:

$dynamicSalt = hash('md5', microtime());

對(duì)于動(dòng)態(tài)的 salt 可以與生成的密碼一起保存在 DB 中,而靜態(tài) salt 則可以直接放在類文件中(例如定義為一個(gè)靜態(tài)屬性即可)。

首先謝謝題主采納了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所讀的源碼可能比較老,所以并沒(méi)使用上較新版本的加密方法,例如 bcrypt等。

此外,第二點(diǎn),感謝評(píng)論中幾位前輩的提點(diǎn),已經(jīng)明白設(shè)置靜態(tài) salt 的意義并不大,生成一個(gè)較長(zhǎng)的動(dòng)態(tài) salt 已然可以解決問(wèn)題。

LZ應(yīng)該采用加鹽HASH。

如何“腌制”密碼呢?

=_,=

正確的格式應(yīng)該是,用戶password+動(dòng)態(tài)的salt

動(dòng)態(tài)的salt不能像2L所說(shuō)的,使用microtime,因?yàn)闀r(shí)間在某些情況下不夠隨機(jī),而且是可能被猜解的。

這里推薦一個(gè)我用的加鹽HASH

$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));

$password=sha1($register_password.$salt);

解釋:

首先使用mcrypt,產(chǎn)生電腦隨機(jī)生成的,專門用戶加密的隨機(jī)數(shù)函數(shù)。

第二步,把得到的隨機(jī)數(shù)通過(guò)base64加密,使其變長(zhǎng)并且不利于猜解。

第三步,把得出的鹽拼接到密碼的后面,再對(duì)其使用sha1進(jìn)行哈希

再把password存入到用戶的數(shù)據(jù)庫(kù)。

PS:為何不用靜態(tài)的salt?沒(méi)有必要,使用一個(gè)動(dòng)態(tài)隨機(jī)足夠長(zhǎng)的鹽足矣。

為何不用MD5?因?yàn)殚L(zhǎng)度不夠。

為何沒(méi)有使用多次HASH?因?yàn)檫@樣反而容易發(fā)生碰撞。

HASH好之后怎么使用“腌制”好的密碼?

用戶注冊(cè)-提交密碼-產(chǎn)生salt-腌制好的密碼存入數(shù)據(jù)庫(kù)-salt存入數(shù)據(jù)庫(kù)。

用戶登錄-提交密碼-調(diào)用salt接到提交密碼的后面-進(jìn)行HASH-調(diào)用之前注冊(cè)腌制好的密碼-對(duì)比HASH值是否和這個(gè)密碼相同

php實(shí)現(xiàn)密碼加密?

在注冊(cè)時(shí)進(jìn)行$pass=md5($pass)就行了呀!登陸也是同樣的道理,先把用戶的密碼進(jìn)行加密一次再和數(shù)據(jù)庫(kù)里面的密碼進(jìn)行比較。比如:$pass=md5($_POST[pass])

網(wǎng)頁(yè)題目:php連接數(shù)據(jù)庫(kù)密碼加密,mysql數(shù)據(jù)庫(kù)用戶密碼加密
網(wǎng)站鏈接:http://muchs.cn/article28/hcghcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化