日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP函數(shù)crypt()的功能介紹

我們知道在PHP中有實現(xiàn)數(shù)據(jù)加密的功能,我們今天將為大家介紹的是其中一個可以實現(xiàn)數(shù)據(jù)加密功能的函數(shù)——PHP函數(shù)crypt()。 作為PHP函數(shù)crypt()的一個例子,考慮這樣一種情況,你希望創(chuàng)建一段PHP腳本程序限 制對一個目錄的訪問,只允許能夠提供正確的用戶名和口令的用戶訪問這一目錄。

創(chuàng)新互聯(lián)專注于秀峰網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供秀峰營銷型網(wǎng)站建設(shè),秀峰網(wǎng)站制作、秀峰網(wǎng)頁設(shè)計、秀峰網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造秀峰網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供秀峰網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

我將把資料存儲在我喜歡的數(shù)據(jù)庫MySQL的一個表中。下面我 們以創(chuàng)建這個被稱作members的表開始我們的例子:

 
 
 
  1. mysql>CREATE TABLE members ( 
  2. ->username CHAR(14) NOT NULL, 
  3. ->password CHAR(32) NOT NULL, 
  4. ->PRIMARY KEY(username) 
  5. ->); 

#t#然后,我們假定下面的數(shù)據(jù)已經(jīng)存儲在該表中:

用戶名 密碼
clark keloD1C377lKE
bruce ba1T7vnz9AWgk
peter paLUvRWsRLZ4U

PHP函數(shù)crypt()中的這些加密的口令對應(yīng)的明碼分別是kent、banner和parker。注意一下每個口令的前二個字母, 這是因為我使用了下面的代碼,根據(jù)口令的前二個字母創(chuàng)建干擾串的:

 
 
 
  1. $enteredPassword. 
  2. $salt = substr($enteredPassword, 0, 2); 
  3. $userPswd = crypt($enteredPassword, $salt); 
  4. // $userPswd然后就和用戶名一起存儲在MySQL 中 

我將使用Apache的口令-應(yīng)答認(rèn)證配置提示用戶輸入用戶名和口令,一個鮮為人知的有關(guān)PHP的信息是,它可以把Apache 的口令-應(yīng)答系統(tǒng)輸入的用戶名和口令識別為$PHP_AUTH_USER和$PHP_AUTH_PW,我將在身份驗證腳本中用到這二個變量。花一些時間仔細閱讀下 面的腳本,多注意一下其中的解釋,以便更好地理解下面的代碼:

PHP函數(shù)crypt()和Apache的口令-應(yīng)答驗證系統(tǒng)的應(yīng)用

 
 
 
  1. < ?php 
  2. $host = "localhost"; 
  3. $user = "zorro"; 
  4. $pswd = "hell odolly"; 
  5. $db = "users"; 
  6. // Set authorization to False 
  7. $authorization = 0; 
  8. // Verify that user has entered
     username and password 
  9. if (isset($PHP_AUTH_USER) && 
    isset($PHP_AUTH_PW)) : 
  10. mysql_pconnect($host, $user, 
    $pswd) or die("Can\'t connect to MySQL 
  11. server!"); 
  12. mysql_select_db($db) or die
    ("Can\'t select database!"); 
  13. // Perform the encryption 
  14. $salt = substr($PHP_AUTH_PW, 0, 2); 
  15. $encrypted_pswd = crypt($PHP_AUTH_PW, $salt); 
  16. // Build the query 
  17. $query = "SELECT username FROM members WHERE 
  18. username = \'$PHP_AUTH_USER\' AND 
  19. password = \'$encrypted_pswd\'"; 
  20. // Execute the query 
  21. if (mysql_numrows(mysql_query($query)) == 1) : 
  22. $authorization = 1; 
  23. endif; 
  24. endif; 
  25. // confirm authorization 
  26. if (! $authorization) : 
  27. header(\'WWW-Authenticate: 
    Basic realm="Private"\'); 
  28. header(\'HTTP/1.0 401 Unauthorized\'); 
  29. print "You are unauthorized 
    to enter this area."; 
  30. exit; 
  31. else : 
  32. print "This is the secret data!"; 
  33. endif; 
  34. ?> 

上面就是一個核實用戶訪問權(quán)限的簡單身份驗證系統(tǒng)。在使用PHP函數(shù)crypt()保護重要的機密資料時,記住在缺省狀態(tài)下使用的PHP函數(shù)crypt()并不是最安全的,只能用在對安全性要求較低的系統(tǒng)中,如果需要較高的安全性能,就需要我在本篇文章的后面介紹的算法。


當(dāng)前標(biāo)題:PHP函數(shù)crypt()的功能介紹
分享地址:http://www.5511xx.com/article/cdjooos.html