- Linux系統(tǒng)安全:縱深防御、安全掃描與入侵檢測(cè)
- 胥峰
- 268字
- 2019-08-06 18:29:22
1.3.5 安全地失敗
安全地失?。‵ail Safely)是指安全地處理錯(cuò)誤。安全地處理錯(cuò)誤是安全編程的一個(gè)重要方面。
在程序設(shè)計(jì)時(shí),要確保安全控制模塊在發(fā)生異常時(shí)遵循了禁止操作的處理邏輯。以代碼清單1-1為例。
代碼清單1-1 不安全地處理錯(cuò)誤
isAdmin = true; try { codeWhichMayFail(); isAdmin = isUserInRole("Administrator"); } catch (Exception ex) { log.write(ex.toString()); }
如果codeWhichMayFail()出現(xiàn)了異常,那么用戶默認(rèn)就是管理員角色了,這顯然導(dǎo)致了一個(gè)非常嚴(yán)重的安全風(fēng)險(xiǎn)。
修復(fù)這個(gè)問題的處理方式很簡(jiǎn)單,如代碼清單1-2所示。
代碼清單1-2 安全地處理錯(cuò)誤
isAdmin = false; try { codeWhichMayFail(); isAdmin = isUserInrole( "Administrator" ); } catch (Exception ex) { log.write(ex.toString()); }
在代碼清單1-2中,默認(rèn)用戶不是管理員角色,那么即使codeWhichMayFail()出現(xiàn)了異常也不會(huì)導(dǎo)致用戶變成管理員角色。這樣就更加安全了。
推薦閱讀
- Windows Server 2012 Hyper-V:Deploying the Hyper-V Enterprise Server Virtualization Platform
- 每天5分鐘玩轉(zhuǎn)Kubernetes
- Linux內(nèi)核完全注釋(20周年版·第2版)
- Hands-On DevOps with Vagrant
- 構(gòu)建可擴(kuò)展分布式系統(tǒng):方法與實(shí)踐
- Extending Bootstrap
- 新手學(xué)電腦從入門到精通(Windows 10+Office 2016版)
- 突破平面3ds Max動(dòng)畫設(shè)計(jì)與制作
- Ceph分布式存儲(chǔ)實(shí)戰(zhàn)
- NetDevOps入門與實(shí)踐
- RHCSARHCE 紅帽Linux認(rèn)證學(xué)習(xí)指南(第7版)EX200 & EX300
- Drupal 7 Cookbook
- 電腦辦公(Windows 10 + Office 2016)入門與提高(超值版)
- Microsoft Hyper-V Cluster Design
- 15分鐘!畫出我的漫畫角色:賣萌篇