Java編碼指南 編寫安全可靠程式的75條建議 Java编码指南:编写安全可靠程序的75条建议(异步图书)
弗雷德·朗(Fred Long)德魯·莫欣達(Dhruv Mohindra)羅伯特 C.西科德(Robert C. Seacord)迪恩 F.薩瑟蘭(Dean F. Sutherland)
- 出版商: 人民郵電
- 出版日期: 2015-12-01
- 定價: $330
- 售價: 8.5 折 $281
- 語言: 簡體中文
- 頁數: 263
- ISBN: 7115403716
- ISBN-13: 9787115403711
-
相關分類:
Java 程式語言、資訊安全、軟體工程
- 此書翻譯自: Java Coding Guidelines: 75 Recommendations for Reliable and Secure Programs (Paperback)
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$980$980 -
$880$695 -
$800$632 -
$580$452 -
$360$281 -
$680$578 -
$690$538 -
$450$356 -
$403RESTful Web APIs (中文版)
-
$780$616 -
$360$284 -
$620$484 -
$207重構:改善既有代碼的設計 (簡中平裝版) (Refactoring: Improving The Design of Existing Code)
-
$280$218 -
$320$250 -
$620$484 -
$500$395 -
$360$281 -
$594$564 -
$505Spring 源碼深度解析, 2/e
-
$653Spring 5 高級編程, 5/e
-
$714$678 -
$505Java 多線程與 Socket:實戰微服務框架
-
$580$458 -
$602Spring 5 企業級開發實戰
相關主題
商品描述
<內容簡介>
《Java編碼指南編寫安全可靠程序的75條建議》是《Java安全編碼標準》一書的擴展,書中把那些不必列入Java安全編碼標準但是同樣會導致系統不可靠或不安全的Java編碼實踐整理了出來,並為這些糟糕的實踐提供了相應的文檔和警告,以及合規解決方案。讀者可以將本書作為Java安全方面的工具書,根據自己的需要,找到自己感興趣的規則進行閱讀和理解,或者在實際開發中遇到安全問題時,根據書中列出的大致分類對規則進行索引和閱讀,也可以通讀全書的所有規則,系統地瞭解Java安全規則,增強對Java安全特性、語言使用、運行環境特性的理解。
<作者簡介>
Fred Long英國Aberystwyth大學計算機科學系的高級講師,自1992年起一直擔任軟件工程研究所(Software Engineering Institute)的客座科學家。Dhruv Mohindra印度Persistent Systems有限公司安全實踐小組的技術領導,為金融、電信、健康領域的很多公司提供諮詢服務。Robert C. Seacord出版過多本軟件安全與軟件工程方面的書籍,是CERT安全編碼倡議小組的技術經理,另外他還在卡內基-梅隆大學教計算機科學。Dean F. Sutherland CERT高級軟件安全工程師,之前是Tartan公司技術組的高級成員,他在Tartan公司主要負責開發優化編譯器。David Svoboda CERT軟件安全工程師,是多個CMU項目的主要開發者。譯者簡介譯者簡介劉先寧ThoughtWorks高級諮詢師,長期從事一線軟件開發工作,對Java、面向對象、敏捷方法論都有較深理解。其譯作還包括《HTML5移動Web開發實戰》。尤青松ThoughtWorks諮詢師,在敏捷軟件交付團隊中擔任技術領導人,尤其對Java企業軟件開發及其安全編程有較深理解。
<目錄>
目錄
第1章安全1
指南1:限制敏感數據的生命週期1
指南2:不要在客戶端存儲未經加密的敏感數據5
指南3:為敏感可變類提供不可修改的包裝器10
指南4:確保安全敏感方法被調用時參數經過驗證12
指南5:防止任意文件上傳14
指南6:正確地編碼或轉義輸出17
指南7:防止代碼註入22
指南8:防止XPath註入25
指南9:防止LDAP註入30
指南10:不要使用clone()方法來複製不可信的方法參數34
指南11:不要使用Object.equals()來比較密鑰37
指南12:不要使用不安全的弱加密算法39
指南13:使用散列函數存儲密碼41
指南14:確保SecureRandom正確地選擇隨機數種子46
指南15:不要依賴可以被不可信代碼覆蓋的方法47
指南16:避免授予過多特權55
指南17:最小化特權代碼59
指南18:不要將使用降低安全性檢查的方法暴露給不可信代碼61
指南19:對細粒度的安全定義自定義安全權限70
指南20:使用安全管理器創建一個安全的沙盒74
指南21:不要讓不可信代碼誤用回調方法的特權78
第2章防禦式編程85
指南22:最小化變量的作用域85
指南23:最小化@SuppressWarnings註解的作用域88
指南24:最小化類及其成員的可訪問性91
指南25:文檔化代碼的線程安全性96
指南26:為方法的結果值提供反饋103
指南27:使用多個文件屬性識別文件106
指南28:不要賦予枚舉常量的序號任何特殊意義114
指南29:註意數字提升行為116
指南30:對可變參數的類型做編譯時類型檢查121
指南31:不要把其值在以後版本里可能會發生變化的常量設置為public final 124
指南32:避免包之間的循環依賴127
指南33:使用用戶自定義的異常而非寬泛的異常類型130
指南34:盡量從系統錯誤中優雅恢復133
指南35:發布接口前請謹慎設計135
指南36:編寫對垃圾收集機制友好的代碼138
第3章可靠性142
指南37:不要在子作用域裡遮蔽或者掩蓋標識符142
指南38:不要在一個聲明裡聲明多個變量145
指南39:在程序邏輯中用有意義的符號常量代表文字值148
指南40:在常量定義中恰當地表示相互之間的關係153
指南41:對於返回數組或者集合的方法,用返回一個空數組或者集合來替代返回一個空值154
指南42:只在異常的情況下使用異常157
指南43:轉義245
指南72:不要使用重載的方法來區分運行時類型248
指南73:不要弄混引用的不可變性和對象的不可變性251
指南74:謹慎使用序列化方法writeUnshared()和readUnshared() 257
指南75:不要試圖通過把