向普通人加密 用PHP程序保護(hù)數(shù)據(jù)(4)_PHP教程
推薦:用PHP實(shí)現(xiàn)Ftp用戶的在線管理領(lǐng)導(dǎo)要我策劃一個(gè)網(wǎng)頁設(shè)計(jì)大賽和Flash創(chuàng)作大賽,要求必須實(shí)現(xiàn)在線報(bào)名和上傳作品。通過FreeBSD Apache PHP Mysql FTP我實(shí)現(xiàn)了該要求。 實(shí)現(xiàn)在線報(bào)名和上傳作品的思路是利用網(wǎng)頁表單收集用戶
清單 6. 重訪 verify.php
| 以下為引用的內(nèi)容: <?php $sql = "select user,password from users if (mysql_num_rows($result)){ |
例如,如果存儲(chǔ)的加密密碼是 i83Uw28jKzBrZF,則加密存儲(chǔ)傳入的密碼,并將它與存儲(chǔ)的密碼進(jìn)行比較。攻擊者破壞加密的惟一方法是將一個(gè)非常長(zhǎng)的字符串列表與您的加密密碼進(jìn)行比較,每次比較一個(gè),直到找到匹配項(xiàng)。這也稱為字典攻擊,因此您的密碼最好不應(yīng)該是密碼 或 Star Trek 字符名,甚至您的呢稱。因?yàn)樵诩用?Fido 后,它會(huì)變成一堆亂語,但這并不表明它對(duì)于此種攻擊是安全的。確保您的密碼具有某一長(zhǎng)度(八個(gè)或更多字符),并包含大寫字母、數(shù)字和特定的字符,如 ! 和 $,這樣猜測(cè)您的數(shù)據(jù)會(huì)更加困難。在短語中,f1D0! 是一個(gè)較好的密碼,它勝于 GandalftheGray 之類的長(zhǎng)密碼,由于后者使用小寫字母,并且是 “Lord of the Rings” 的字符名稱。
使用 crypt() 的一種不太好的方法
還有使用 crypt() 的另一種方法,這種方法不太好:將明文的前 n 個(gè)字符用作 salt。
清單 7. 將明文字符用于 salt
| 以下為引用的內(nèi)容: <?php $sql = "select user,password from users if (mysql_num_rows($result)){ |
如果您的用戶名是 tmyer,則 salt 預(yù)置為 tm,它會(huì)使某人很容易推斷 salt 的內(nèi)容。這不是一個(gè)好方法。
分享:用PHP程序?qū)崿F(xiàn)刪除目錄的三種方法實(shí)例1。遞規(guī)法: //沒測(cè)試 以下為引用的內(nèi)容: deleteDir($dir) { if (rmdir($dir)==false && is_dir($dir)) { if ($dp = opendir($dir)) { w
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-向普通人加密 用PHP程序保護(hù)數(shù)據(jù)(4)
。