出版時間:2010-1 出版社:機械工業(yè) 作者:(美)巴雷德|譯者:姜燕梅//羅云峰//武欣 頁數(shù):208
Tag標(biāo)簽:無
前言
PHP是一個非常適用于快速開發(fā)動態(tài)Web站點的編程語言。它的很多特性對編程初學(xué)者來說非常友好,例如它不要求變量聲明。然而這些特性可能會導(dǎo)致用PHP開發(fā)的Web應(yīng)用程序存在一些安全漏洞。一旦你理解PHP應(yīng)用程序漏洞的基本概念和類型,你就可以用PHP編寫出與其他語言一樣安全的代碼?! θ魏斡兄居诰帉懜踩玏eb應(yīng)用程序的PHP開發(fā)人員來說,本書都是非常不錯的選擇。它涵蓋了大量開發(fā)人員都應(yīng)該熟悉的安全話題。此外,本書還介紹一些測試PHP Web應(yīng)用程序的方法和工具?! ”緯w內(nèi)容豐富,包括: ·Web應(yīng)用程序安全的基礎(chǔ)知識?! 拈_始階段設(shè)計安全的應(yīng)用程序——去除已有應(yīng)用程序的安全漏洞?! ぞ彌_區(qū)溢出、文件系統(tǒng)訪問、身份驗證、加密等?! し烙鵓HP自身無法防御的會話劫持、固化以及毒化攻擊?! ぬ岣哌\行PHP代碼的服務(wù)器的安全性,包括針對Apache、MySQL、IIS/SQL服務(wù)器的具體指導(dǎo)。 ·實施嚴格的身份驗證以及加密應(yīng)用程序?! ゎA(yù)防危險的跨站點腳本攻擊。 ·系統(tǒng)化測試應(yīng)用程序的安全性,包括探索式測試和PHP自動化測試?! そ鉀Q第三方應(yīng)用程序的已有漏洞?! eb應(yīng)用程序的自動化測試工具和框架。 綜觀全書,內(nèi)容廣泛,風(fēng)格嚴謹,理論和實踐緊密結(jié)合,既有詳細的概念說明,又有復(fù)雜且完整的示例代碼,還有淺顯易懂的圖表等。讀者能夠輕松地將自己所需的理論知識付諸實踐。正是這個原因,本書適用的對象非常廣泛。對初學(xué)者來說,本書可以作為Web開發(fā)方面的安全教材和參考用書。對經(jīng)驗豐富的PHP開發(fā)人員來說,本書也是很好的參考手冊。此外,本書還給出了關(guān)于自動化和手動測試Web應(yīng)用程序的詳細介紹。因此,本書適用于PHP程序員和測試人員?! ⒓颖緯g工作的有:姜燕梅、羅云峰、武欣、余勇、賈順林、于苗苗、王國勤、王萃、張春梅。由武欣統(tǒng)一審校?! ∮捎谧g者的水平有限,書中不妥和錯誤之處在所難免,敬請廣大讀者批評指正。
內(nèi)容概要
本書通過實際情景、示例代碼深入淺出地介紹了經(jīng)常困撓PHP Web應(yīng)用程序開發(fā)人員的常見安全問題。主要內(nèi)容包括:去除應(yīng)用程序安全漏洞,防御PHP攻擊,提高運行PHP代碼的服務(wù)器安全,實施嚴格的身份驗證以及加密應(yīng)用程序,預(yù)防跨站點腳本攻擊,系統(tǒng)化測試應(yīng)用程序安全性,解決第三方應(yīng)用程序已有漏洞等。 本書內(nèi)容豐富,理論和實踐緊密結(jié)合。通過詳細概念說明和完整實例代碼,讀者可以輕松將自己所學(xué)的理論知識付諸實踐。本書適用于各個階段的Web應(yīng)用程序開發(fā)人員。 本書將幫助你掌握編寫可靠的PHP代碼和提高你正在使用的PHP軟件安全所需的技術(shù)、技巧以及最佳實踐。作者揭示經(jīng)常困撓PHP程序開發(fā)人員的常見代碼安全問題,同時給出實用且專業(yè)的解決方案——不管你擁有多少PHP編程經(jīng)驗,這些技術(shù)都非常容易理解和使用?! ”緯唧w包括 ·從起步階段設(shè)計安全的應(yīng)用程序——去除已有應(yīng)用程序安全漏洞?! し烙鵓HP自身無法防御的會話劫持、固化以及毒化攻擊?! ぬ岣哌\行PHP代碼的服務(wù)器的安全性,包括針對Apache、MySQL、IIS/SQL服務(wù)器的具體指導(dǎo)?! 嵤﹪栏竦纳矸蒡炞C以及加密應(yīng)用?! ゎA(yù)防危險的跨站點腳本攻擊?! は到y(tǒng)化測試應(yīng)用程序的安全性,包括探索式測試和PHP自動化測試。 ·解決第三方應(yīng)用程序的已有漏洞。
作者簡介
Tricia Ballad 在成為專職技術(shù)寫作人員之前,她花費了幾年時間從事LAMP(Linux、Apache、MySQL和PHP/Perl)平臺上的Web應(yīng)用程序開發(fā)工作。目前她專門編寫不同技術(shù)的在線課件。
書籍目錄
譯者序 第一篇 Web開發(fā)是血腥運動——不打無準備仗 第1章 服務(wù)器安全問題以及其他高深問題 1.1 現(xiàn)實檢查 1.2 服務(wù)器安全問題 1.2.1 黑客通過非安全應(yīng)用程序獲得控制權(quán) 1.2.2 編程人員可以提高應(yīng)用程序的安全性 1.3 安全困惑 1.4 自身的會話管理提供安全性 1.5 “我的應(yīng)用程序并不值得攻擊” 1.6 “門衛(wèi)”的典型表現(xiàn) 1.7 小結(jié) 第二篇 安全漏洞是否大到能開大卡車 第2章 處理錯誤 2.1 留言板應(yīng)用程序 2.1.1 程序總結(jié) 2.1.2 主要代碼清單 2.2 用戶執(zhí)行過度操作 2.2.1 這些代碼會產(chǎn)生什么結(jié)果 2.2.2 期待非期望輸入 2.3 構(gòu)建錯誤處理機制 2.3.1 測試非期望輸入 2.3.2 決定如何處理錯誤數(shù)據(jù) 2.3.3 簡化系統(tǒng)的使用 2.4 小結(jié) 第3章 系統(tǒng)調(diào)用 3.1 了解exec()、system()以及backtick的風(fēng)險 3.1.1 通過SUID位和sudo使用系統(tǒng)命令 3.1.2 使用系統(tǒng)資源 3.2 使用escapeshellcmd()和escapeshellarg()保護系統(tǒng)調(diào)用 3.2.1 escapeshellcmd() 3.2.2 escapeshellarg() 3.3 創(chuàng)建能夠處理所有系統(tǒng)調(diào)用的API 3.3.1 為什么不轉(zhuǎn)義參數(shù)呢 3.3.2 驗證用戶輸入 3.4 修補留言板應(yīng)用程序 3.4.1 moveFile()函數(shù) 3.4.2 修補應(yīng)用程序 3.5 小結(jié) 第三篇 名稱里的內(nèi)涵,遠多于你所期望的 第4章 緩沖區(qū)溢出和變量整理 第5章 驗證輸入 第6章 文件系統(tǒng)訪問:訪問文件系統(tǒng)的樂趣和益處 第四篇 “噢,你可以信任我” 第7章 身份驗證 第8章 加密 第9章 會話安全性 第10章 跨站式腳本編程 第五篇 夜晚得鎖門 第11章 保護Apache和MySQL 第12章 IIS和SQL Server的安全性… 第13章 服務(wù)器端PHP的安全性 第14章 自動化測試介紹 第15章 探索性測試介紹 第六篇 “不被攻擊”并不是一個可行的安全策略 第16章 計劃A:從開始階段設(shè)計安全的應(yīng)用程序 第17章 計劃B:去除已有應(yīng)用程序的安全漏洞 第18章 安全是生活方式的選擇:成為一個優(yōu)秀的編程人員 附錄 額外資源 術(shù)語表
章節(jié)摘錄
1.2.2 編程人員可以提高應(yīng)用程序的安全性 作為世界信息技術(shù)最常見的話題,安全一直被認為是困難、復(fù)雜的,并且最好留給擁有大量證書的專家、計算機科學(xué)領(lǐng)域的博士以及具有20年行業(yè)經(jīng)驗的專家。一旦理解安全的基礎(chǔ)知識,你將發(fā)現(xiàn)最重要的安全概念其實并不像看上去那么困難。有時候需要安全專家的幫助,但是你不一定要成為安全專家才能提高應(yīng)用程序的安全。本書提取了一些關(guān)于提高應(yīng)用程序安全性的精華信息,它們可以幫助理解應(yīng)用程序基礎(chǔ)安全概念?! ≡陂_始了解特定安全技術(shù)之前,我們需要了解為什么需要理解安全。只要你將應(yīng)用程序發(fā)布給公眾——尤其你的應(yīng)用程序運行在唯一的服務(wù)器——你將成為黑客的靶子。即使一個非常簡單的應(yīng)用程序都可能成為黑客的興趣點。其實,黑客并不需要非常聰明或受過高等教育,他們可以是普通的編程人員。他們擁有大量的時間,希望測試自己能否應(yīng)對系統(tǒng)管理員和應(yīng)用程序編程人員。只要你的代碼在公共服務(wù)器運行,你就應(yīng)該假設(shè)黑客可能會找到它并且嘗試攻擊它。根據(jù)你的服務(wù)器吸引人的程度以及安全漏洞明顯程度的不同,這可能需要幾年的時間,也可能你幾天后就能看到第一個攻擊?! ∵@是否意味著你應(yīng)該放棄防御黑客?當(dāng)然不是。安全漏洞不是不可避免的。安全漏洞之所以常見,是因為大多數(shù)程序員都不理解提高應(yīng)用程序安全的基本方法。一旦閱讀了本書,你就可以使用所有的工具來改善應(yīng)用程序的安全性。黑客將其精力集中在最容易攻擊的目標(biāo),但是你可以采取一些步驟使得黑客放棄你的應(yīng)用程序。不用擔(dān)心,本書介紹的所有技術(shù)都非常簡單,但是卻可以讓應(yīng)用程序的安全性有質(zhì)的變化。 1.3 安全困惑 有些程序員隨機創(chuàng)建復(fù)雜的目錄結(jié)構(gòu)和文件,使用一些毫無意義的名稱用來迷惑黑客。遺憾的是,由于黑客攻擊的方法,困惑的文件名稱以及將其保存在復(fù)雜的目錄結(jié)構(gòu)并不能真正解決問題。這種策略將使得你的代碼難于維護、更新。 大多數(shù)黑客都不會通過查看你的應(yīng)用程序代碼來找到漏洞。他們一般都比較懶惰(這是好事)。與花費大量時間和精力直接查找應(yīng)用程序漏洞不同,他們編寫腳本來挖掘應(yīng)用程序代碼漏洞。在花費足夠的時間后,這些腳本最終將會找到有效的方法遍歷最復(fù)雜的目錄結(jié)構(gòu)。如圖l-2所示。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載