PHP安全-平衡風(fēng)險(xiǎn)與可用性
用戶操作的友好性與安全措施是一對(duì)矛盾,在提高安全性的同時(shí),通常會(huì)降低可用性。在你為不合邏輯的使用者寫代碼時(shí),必須要考慮到符合邏輯的正常使用者。要達(dá)到適當(dāng)?shù)钠胶獾拇_很難,但是你必須去做好它,沒有人能替代你,因?yàn)檫@是你的軟件。
盡量使安全措施對(duì)用戶透明,使他們感受不到它的存在。如果實(shí)在不可能,就盡量采用用戶比較常見和熟悉的方式來(lái)進(jìn)行。例如,在用戶訪問受控信息或服務(wù)前讓他們輸入用戶名和密碼就是一種比較好的方式。
當(dāng)你懷疑可能有非法操作時(shí),必須意識(shí)到你可能會(huì)搞借。例如,在用戶操作時(shí)如果系統(tǒng)對(duì)用戶身份有疑問時(shí),通常用讓用戶再次錄入密碼。這對(duì)于合法用戶來(lái)說(shuō)只是稍有不便,而對(duì)于攻擊者來(lái)說(shuō)則是銅墻鐵壁。從技術(shù)上來(lái)說(shuō),這與提示用戶進(jìn)行重新登錄基本是一樣的,但是在用戶感受上,則有天壤之別。
沒有必要將用戶踢出系統(tǒng)并指責(zé)他們是所謂的攻擊者。當(dāng)你犯錯(cuò)時(shí),這些流程會(huì)極大的降低系統(tǒng)的可用性,而錯(cuò)誤是難免的。
在本書中,我著重介紹透明和常用的安全措施,同時(shí)我建議大家對(duì)疑似攻擊行為做出小心和明智的反應(yīng)。
相關(guān)文章:
1. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明2. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法3. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測(cè)可用)6. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法7. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向8. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析9. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)10. CSS hack用法案例詳解
