向普通人加密 用PHP程序保護(hù)數(shù)據(jù)_PHP教程
推薦:用PHP實(shí)現(xiàn)Ftp用戶的在線管理領(lǐng)導(dǎo)要我策劃一個(gè)網(wǎng)頁(yè)設(shè)計(jì)大賽和Flash創(chuàng)作大賽,要求必須實(shí)現(xiàn)在線報(bào)名和上傳作品。通過(guò)FreeBSD Apache PHP Mysql FTP我實(shí)現(xiàn)了該要求。 實(shí)現(xiàn)在線報(bào)名和上傳作品的思路是利用網(wǎng)頁(yè)表單收集用戶
在這個(gè)日漸虛擬的互聯(lián)網(wǎng)世界中,您必須小心保護(hù)自已的數(shù)據(jù)。本文將介紹編碼和加密一些重要信息(比如密碼、信用卡號(hào)、甚至整個(gè)消息)的基礎(chǔ)知識(shí)。并通過(guò)使用 PHP 的內(nèi)置功能,了解加密和解密信息的意義,并且將了解一些涉及密碼和其他數(shù)據(jù)的實(shí)際示例。
了解當(dāng)今現(xiàn)實(shí)世界與 20 年前的現(xiàn)實(shí)世界的不同。在 20 世紀(jì) 80 年代,加密是一種特工人員的行為 —— 是您在 Tom Clancy 的偵探小說(shuō)中才可以讀到的情節(jié)。如果某人想保持少量私有信息,那么他必須使用密碼、密碼短語(yǔ)或其他基本方法對(duì)數(shù)據(jù)進(jìn)行加密。
而現(xiàn)在,加密遍布各個(gè)領(lǐng)域。密碼也被加密保存在數(shù)據(jù)庫(kù)中。電腦空間中的加密的通道可能是通過(guò) SSL、SSH 和其他技術(shù)加密的 —— 更不必說(shuō)擬虛專(zhuān)用網(wǎng)絡(luò)。人們平�?梢远乙欢軌蚴褂� Pretty Good Privacy (PGP) 來(lái)保護(hù)敏感的文件和電子郵件。
作為一名 PHP 開(kāi)發(fā)人員,您應(yīng)該知道,強(qiáng)有力的安全做法并不是只將安全保護(hù)用于獨(dú)特的應(yīng)用程序 —— 還可以將其用于您當(dāng)前從事的項(xiàng)目。用戶要樹(shù)立從一般加密方法(例如,在登錄頁(yè)上的密碼字段中不顯示明文)過(guò)渡到各種高級(jí)加密方法(如 DES、MD5、SHA1 和 Blowfish)的意識(shí)。
因時(shí)間和篇幅所限,這里無(wú)法討論加密的各個(gè)方面,但是您將從這里了解涵蓋適用于您的多數(shù)情況的基本內(nèi)容。我們通過(guò)使用 PHP 內(nèi)置功能先了解加密和解密信息的意義,進(jìn)而了解涉及密碼和其他數(shù)據(jù)的一些實(shí)際示例。在本文中,加密是在更大的安全上下文中進(jìn)行討論的。最后,將介紹其他 PHP 擴(kuò)展和插件。
加密技術(shù)的初級(jí)讀本
作為希臘的詞根資產(chǎn),加密技術(shù)是一種 “神秘編寫(xiě)” 藝術(shù)。凱撒密碼 是最古老的一種密碼,形式也最為簡(jiǎn)單。它采用明文消息,將字母移動(dòng) n 個(gè)位置,從而產(chǎn)生暗文。例如:
明文:Veni Vidi Vici
暗文:Xgpk Xkfk Xkek
通過(guò)檢查暗文并借助一些啟發(fā)式的技巧,您可以知道,明文實(shí)際上是移動(dòng)了兩個(gè)字符。凱撒密碼很容易破解。例如:檢查上述信息,可知 X 重復(fù)了多次,且 k 也是如此。這就變成猜迷,確定多少個(gè)四字母的詞有那樣多的元音。知道了這些帶元音的詞后,您就知道了移動(dòng)其余字的方法。它還可以幫助您判斷明文是否為拉丁文,讓您對(duì)其有大致的了解。
現(xiàn)代加密技術(shù)的功能非常強(qiáng)大,使用了超越統(tǒng)一移動(dòng)字母和符號(hào)的算法。本文不打算詳細(xì)介紹這些算法,僅介紹一些 PHP 安裝,它包括您需要適度(或特別)保持?jǐn)?shù)據(jù)安全的所有內(nèi)容。
不存在 100% 不受攻擊的絕對(duì)完整的加密方法。大概每隔一個(gè)月,一些黑客及其朋友就會(huì)集合 1,000 臺(tái)計(jì)算機(jī),在最初的幾天里強(qiáng)力進(jìn)行計(jì)算破壞,從而使最新的加密方法崩潰。不過(guò),您可以密封您的系統(tǒng)和數(shù)據(jù),不讓黑客干擾和非法闖入。他們將在其他地方尋找可乘之機(jī)。
了解這些內(nèi)容之后,讓我們轉(zhuǎn)而了解那些受簡(jiǎn)單登錄形式保護(hù)的示例 PHP 應(yīng)用程序。
沒(méi)有安全保障或加密的 PHP 形式處理
假定您是一位新的 Web 應(yīng)用程序開(kāi)發(fā)人員,沒(méi)有更多的機(jī)會(huì)使用安全功能。您創(chuàng)建了您的第一個(gè)應(yīng)用程序,它可以在專(zhuān)用用戶表中存儲(chǔ)用戶名和密碼,但是,您沒(méi)有對(duì)這些密碼進(jìn)行加密。這些密碼以一眼就看明白的形式存在,任何人都可以使用它們?cè)L問(wèn)數(shù)據(jù)庫(kù)。您可以構(gòu)建一個(gè)如下所示的登錄頁(yè)面。
清單 1. 簡(jiǎn)單的登錄頁(yè)面
| 以下為引用的內(nèi)容: <form action="verify.php" method="post"> <p><label for='username'>Username</label> <input type='text' name='username' id='username'/> </p> <p><label for='password'>Password</label> <input type='text' name='password' id='password'/> </p> <p><input type="submit" name="submit" value="log in"/> </p> </form> |
此 HTML 標(biāo)記存在什么問(wèn)題?為密碼字段選擇的輸入類(lèi)型為 text,這意味著用戶鍵入該字段的任何內(nèi)容都會(huì)以明文形式顯示在屏幕上。
分享:用PHP程序?qū)崿F(xiàn)刪除目錄的三種方法實(shí)例1。遞規(guī)法: //沒(méi)測(cè)試 以下為引用的內(nèi)容: deleteDir($dir) { if (rmdir($dir)==false && is_dir($dir)) { if ($dp = opendir($dir)) { w
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 解析PHP漢字驗(yàn)證碼的實(shí)現(xiàn)
- PHP5中Cookie與 Session使用詳解
- 問(wèn)題解決:無(wú)法載入MYSQL擴(kuò)展,請(qǐng)檢查PHP配置
- 解答PHP上傳多個(gè)圖片并校驗(yàn)的代碼問(wèn)題
- 解析基于MVC的輕量級(jí)PHP框架
- phpcms模塊開(kāi)發(fā)之swfupload的使用介紹
- 解決PHP無(wú)法訪問(wèn)遠(yuǎn)程mysql的問(wèn)題
- 解析一個(gè)經(jīng)典的PHP顯示分頁(yè)程序
- 解讀Mysql中創(chuàng)建用戶帳戶的方法
- 用Suhosin加強(qiáng)PHP腳本語(yǔ)言安全性
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-向普通人加密 用PHP程序保護(hù)數(shù)據(jù)
。