注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計網(wǎng)絡編程PHP應用程序安全編程

PHP應用程序安全編程

PHP應用程序安全編程

定 價:¥42.00

作 者: 巴雷德 等著,姜燕梅 等譯
出版社: 機械工業(yè)出版社
叢編項: 開發(fā)人員專業(yè)技術叢書
標 簽: PHP

ISBN: 9787111291817 出版時間: 2010-01-01 包裝: 平裝
開本: 16開 頁數(shù): 208 字數(shù):  

內容簡介

  本書通過實際情景、示例代碼深入淺出地介紹了經常困撓PHP Web應用程序開發(fā)人員的常見安全問題。主要內容包括:去除應用程序安全漏洞,防御PHP攻擊,提高運行PHP代碼的服務器安全,實施嚴格的身份驗證以及加密應用程序,預防跨站點腳本攻擊,系統(tǒng)化測試應用程序安全性,解決第三方應用程序已有漏洞等。本書內容豐富,理論和實踐緊密結合。通過詳細概念說明和完整實例代碼,讀者可以輕松將自己所學的理論知識付諸實踐。本書適用于各個階段的Web應用程序開發(fā)人員?!”緯鴮椭阏莆站帉懣煽康腜HP代碼和提高你正在使用的PHP軟件安全所需的技術、技巧以及最佳實踐。作者揭示經常困撓PHP程序開發(fā)人員的常見代碼安全問題,同時給出實用且專業(yè)的解決方案——不管你擁有多少PHP編程經驗,這些技術都非常容易理解和使用。本書具體包括·從起步階段設計安全的應用程序——去除已有應用程序安全漏洞?!し烙鵓HP自身無法防御的會話劫持、固化以及毒化攻擊?!ぬ岣哌\行PHP代碼的服務器的安全性,包括針對Apache、MySQL、IIS/SQL服務器的具體指導?!嵤﹪栏竦纳矸蒡炞C以及加密應用?!ゎA防危險的跨站點腳本攻擊?!は到y(tǒng)化測試應用程序的安全性,包括探索式測試和PHP自動化測試?!そ鉀Q第三方應用程序的已有漏洞。

作者簡介

  巴雷德(Tricia Ballad),在成為專職技術寫作人員之前,她花費了幾年時間從事LAMP(Linux、Apache、MySQL和PHP/Perl)平臺上的Web應用程序開發(fā)工作。目前她專門編寫不同技術的在線課件。William Ballad,曾經工作在信息技術領域的各個層面,從父母的ISP公司的硬件維護工程師到世界級大型公司的基于Windows和異構網(wǎng)絡的架構師。他多年來一直活躍在IT安全領域,最近領導著一支專門抵御國際化黑客組織攻擊OptioriCart(一個廣泛使用的電子商務系統(tǒng))的團隊。

圖書目錄

譯者序
第一篇 Web開發(fā)是血腥運動——不打無準備仗
第1章 服務器安全問題以及其他高深問題
1.1 現(xiàn)實檢查
1.2 服務器安全問題
1.2.1 黑客通過非安全應用程序獲得控制權
1.2.2 編程人員可以提高應用程序的安全性
1.3 安全困惑
1.4 自身的會話管理提供安全性
1.5 “我的應用程序并不值得攻擊”
1.6 “門衛(wèi)”的典型表現(xiàn)
1.7 小結
第二篇 安全漏洞是否大到能開大卡車
第2章 處理錯誤
2.1 留言板應用程序
2.1.1 程序總結
2.1.2 主要代碼清單
2.2 用戶執(zhí)行過度操作
2.2.1 這些代碼會產生什么結果
2.2.2 期待非期望輸入
2.3 構建錯誤處理機制
2.3.1 測試非期望輸入
2.3.2 決定如何處理錯誤數(shù)據(jù)
2.3.3 簡化系統(tǒng)的使用
2.4 小結
第3章 系統(tǒng)調用
3.1 了解exec()、system()以及backtick的風險
3.1.1 通過SUID位和sudo使用系統(tǒng)命令
3.1.2 使用系統(tǒng)資源
3.2 使用escapeshellcmd()和escapeshellarg()保護系統(tǒng)調用
3.2.1 escapeshellcmd()
3.2.2 escapeshellarg()
3.3 創(chuàng)建能夠處理所有系統(tǒng)調用的API
3.3.1 為什么不轉義參數(shù)呢
3.3.2 驗證用戶輸入
3.4 修補留言板應用程序
3.4.1 moveFile()函數(shù)
3.4.2 修補應用程序
3.5 小結
第三篇 名稱里的內涵。遠多于你所期望的
第4章 緩沖區(qū)溢出和變量整理
4.1 什么是緩沖區(qū),什么是緩沖區(qū)溢出以及為什么要關注它
4.1.1 緩沖區(qū)、堆棧、堆和內存分配
4.1.2 緩沖區(qū)溢出的后果
4.1.3 內存分配和PHP
4.1.4 關注最新的安全警告
4.2 通過變量整理預防緩沖區(qū)溢出
4.2.1 前提:數(shù)據(jù)在證實為安全之前,都可能是有問題的,尤其是來自應用程序之外的數(shù)據(jù)
4.2.2 數(shù)據(jù)是從哪兒來的
4.2.3 如何整理數(shù)據(jù)以防止緩沖區(qū)溢出
4.3 為應用程序打補丁
4.3.1 驗證是否為最新的穩(wěn)定版本
4.3.2 檢查變量整理
4.4 小結
第5章 驗證輸入
5.1 新特性:允許用戶對留言板留言簽名
5.2 問題:用戶提供了過多的數(shù)據(jù)
5.2.1 發(fā)送垃圾郵件
5.2.2 注入攻擊
5.3 假設:你了解你的數(shù)據(jù)
5.3.1 數(shù)據(jù)庫限制
5.3.2 邏輯限制
5.4 解決方法:驗證輸入的正則表達式
5.4.1 數(shù)據(jù)污損
5.4.2 正則表達式簡介
5.4.3 正則表達式的貪婪模式和惰性模式
5.4.4 常見驗證輸入模式
5.5 小結
第6章 文件系統(tǒng)訪問:訪問文件系統(tǒng)的樂趣和益處
6.1 打開文件
6.1.1 本地文件系統(tǒng)訪問
6.1.2 遠程文件系統(tǒng)訪問
6.1.3 防止遠程文件系統(tǒng)漏洞
6.2 創(chuàng)建并存儲文件
6.2.1 允許文件上傳
6.2.2 安全地存儲文件
6.3 安全地修改文件屬性
6.3.1 修改UNIX/Linux/MacOSx的文件權限
6.3.2 修改Windows文件權限
6.3.3 在PHP中修改文件權限
6.4 修補應用程序以便支持用戶上傳圖像文件
6.4.1 修改API
6.4.2 創(chuàng)建上傳表單
6.5 小結
第四篇“噢,你可以信任我”
第7章 身份驗證
7.1 什么是用戶身份驗證
7.1.1 用戶名和密碼
7.1.2 圖像識別
7.2 權限
7.3 驗證用戶的方法
7.3.1 基于字典的身份驗證
7.3.2 用戶數(shù)據(jù)庫
7.4 保存用戶名和密碼
7.4.1 加密
7.4.2 密碼強度
7.4.3 評估漏洞
7.5 修補應用程序以便增加用戶身份驗證
7.5.1 添加User數(shù)據(jù)庫表和確認數(shù)據(jù)庫的安全性
7.5.2 創(chuàng)建身份驗證API
7.6 小結
第8章 加密
8.1 什么是加密
8.2 加密類型
8.2.1 算法能力
8.2.2 速度和安全性
8.2.3 數(shù)據(jù)的使用
8.3 密碼的安全性
8.4 在應用程序中增加密碼加密功能
8.4.1 修改User表
8.4.2 創(chuàng)建加密和salt函數(shù)
8.4.3 修改密碼驗證系統(tǒng)
8.5 小結
第9章 會話安全性
9.1 什么是會話變量
9.2 會話攻擊的主要類型
9.2.1 會話固化
9.2.2 會話劫持
9.2.3 會話毒化(注入)
9.3 修補應用程序代碼以提高會話安全性
9.4 小結
第10章 跨站式腳本編程
10.1 什么是XSS
10.2 反射式XSS
10.3 存儲式XSS
10.4 修補應用程序代碼防范XSS攻擊
10.5 小結
第五篇 夜晚得鎖門
第11章 保護Apache和MySQL
11.1 編程語言、Web服務器以及操作系統(tǒng)本身都是不安全的
11.2 提高UNIX、Linux或MacOSX環(huán)境的安全性
11.3 保護Apache
11.3.1 升級或安裝Apache最新的穩(wěn)定版本
11.3.2 設置Apache專有的用戶和組
11.3.3 隱藏版本號以及其他敏感信息
11.3.4 將Apache限制在自身的目錄結構中
11.3.5 禁用任何不必要的選項
11.3.6 安裝和啟用ModSecurity
11.4 保護MySQL
11.4.1 升級或安裝最新版本
11.4.2 禁用遠程訪問
11.4.3 修改管理員用戶名和密碼
11.4.4 刪除默認的數(shù)據(jù)庫用戶并為每個應用程序創(chuàng)建新賬戶
11.4.5 刪除示例數(shù)據(jù)庫
11.5 小結
第12章 IIS和SQLServer的安全性
12.1 Windows服務器環(huán)境的安全性
12.2 IIS的安全性
12.2.1 減少服務器的開放點
12.2.2 WebRoot的安全性
12.3 SQLServer的安全性
12.3.1 安裝或升級到最新版本
12.3.2 MicrosoftSQLServer的安全性
12.4 小結
第13章 服務器端PHP的安全性
13.1 使用最新版本的PHP
13.1.1 Zend框架和Zend優(yōu)化器
13.1.2 找到最新版本的PHP
13.1.3 使用Suhosin補丁和擴展
13.2 使用PHP和Apache內置的安全特性
13.2.1 safe-mode
13.2.2 SuEXEC
13.3 使用ModSecurity
13.4 php.ini的安全性
13.5 小結
第14章 自動化測試介紹
14.1 為什么在關于安全的書籍中介紹測試
14.2 測試框架
14.3 測試類型
14.3.1 單元測試
14.3.2 系統(tǒng)測試
14.4 選擇合適的測試數(shù)據(jù)
14.5 小結
第15章 探索性測試介紹
15.1 什么是探索性測試
15.2 Fuzz測試
15.2.1 安裝和配置Power Fuzzer
15.2.2 使用Power Fuzzer
15.3 測試工具集
15.3.1 下載CAL9000
15.3.2 使用CAL9000
15.4 專有測試套件
15.4.1 專有測試套件的優(yōu)點和特性
15.4.2 使用專有測試套件掃描你的應用程序
15.5 小結
第六篇 “不被攻擊”并不是一個可行的安全策略
第16章 計劃A:從開始階段設計安全的應用程序
16.1 在開始編寫代碼之前
16.1.1 概念總結
16.1.2 工作流和角色圖
16.1.3 數(shù)據(jù)設計
16.1.4 框架函數(shù)
16.2 標識故障點
16.2.1 登錄和登出
16.2.2 文件上載
16.2.3 用戶輸入
16.2.4 文件系統(tǒng)訪問
16.3 小結
第17章 計劃B:去除已有應用程序的安全漏洞
17.1 設置環(huán)境
17.1.1 使用三階段部署
17.1.2 使用版本控制
17.2 提高應用程序安全的檢查列表
17.2.1 檢查服務器安全性
17.2.2 找到代碼漏洞
17.2.3 修復最明顯的問題
17.2.4 同事間的代碼評審
17.3 小結
第18章 安全是生活方式的選擇:成為一個優(yōu)秀的編程人員
18.1 避免過多特性
18.2 編寫自文檔化代碼
18.3 使用適合工作的工具
18.4 執(zhí)行同事間的代碼評審
18.5 小結
附錄 額外資源
術語表

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號