向普通人加密 用PHP程序保護(hù)數(shù)據(jù)(2)_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)頁表單收集用戶
您可以方便地將該類型更改為 password,并將該字段中的用戶輸入替換為一串星號(hào)。可靠嗎?絕對(duì)可靠。不過,這一步驟在很多應(yīng)用程序中會(huì)被忽略。事情雖小,但在安全方面會(huì)使人們感到不安。您愿意將錢存入休息大廳的窗口被嚴(yán)重毀壞的銀行嗎?也許您會(huì)。但是您可能更期望銀行是完好無損的。對(duì)于應(yīng)用程序來說,道理相同。
讓我們繼續(xù)介紹處理表單提交的 verify.php 文件。
清單 2. 簡(jiǎn)單的 PHP 登錄驗(yàn)證
| 以下為引用的內(nèi)容: <?php $sql = "select user,password from users if (mysql_num_rows($result)){ ?> |
讀閱到此,您會(huì)露出滿意的微笑。等待閱讀本文加密部分的部分讀者可能變得不耐煩了,但是加密僅為安全問題的一部分。您還必須聰明地處理引入的用戶數(shù)據(jù)。developerWorks 教程 “鎖定您的 PHP 應(yīng)用程序”(請(qǐng)參閱參考資料)討論了 SQL 注射:將不正常的數(shù)據(jù)發(fā)送到數(shù)據(jù)庫可導(dǎo)致有害或無根據(jù)的訪問。無論您使用多少個(gè)加密,公開弱點(diǎn)沒有一點(diǎn)好處。
您應(yīng)遵循下面的傳統(tǒng)安全原則:“不信任用戶提供的數(shù)據(jù)” 和 “深層防御”;清除傳入數(shù)據(jù)并通過轉(zhuǎn)義傳入的字符串保護(hù)數(shù)據(jù)庫(參見清單 3)。深層防御是將多余的安全方法都妥善保管 —— 不僅包括加密,還包括用戶所提供數(shù)據(jù)的智能處理。
清單 3. 保護(hù) PHP 形式解析免受用戶數(shù)據(jù)操作的影響
| 以下為引用的內(nèi)容: <?php $sql = "select user,password from users if (mysql_num_rows($result)){ |
通過合理使用 strip_tags()、substr() 和 mysql_real_escape_string(),可以刪除任何潛在的有害命令,將字符串減少到 32 個(gè)字符,并去掉所有特殊字符,數(shù)據(jù)庫可能將這些字符解釋為非預(yù)期命令字符串的一部分。
分享:用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的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-向普通人加密 用PHP程序保護(hù)數(shù)據(jù)(2)
。