使用者操作的友善性與安全措施是一對矛盾,在提高安全性的同時,通常會降低可用性。當你為不合邏輯的使用者寫程式碼時,必須考慮到符合邏輯的正常使用者。要達到適當的平衡的確很難,但是你必須去做好它,沒有人能取代你,因為這是你的軟體。
盡量使安全措施對使用者透明,使他們感受不到它的存在。如果實在不可能,就盡量採用使用者比較常見和熟悉的方式來進行。例如,在使用者存取受控資訊或服務前讓他們輸入使用者名稱和密碼就是一種比較好的方式。
當你懷疑可能有非法操作時,你必須意識到你可能會搞借。例如,在使用者操作時如果系統對使用者身分有疑問時,通常會用讓使用者再次輸入密碼。這對合法用戶來說只是稍有不便,而對攻擊者來說則是銅牆鐵壁。從技術上來說,這與提示使用者進行重新登入基本上是一樣的,但是在使用者感受上,則有天壤之別。
沒有必要將用戶踢出系統並指責他們是所謂的攻擊者。當你犯錯時,這些流程會極大的降低系統的可用性,而錯誤是難免的。
在本書中,我著重介紹透明和常用的安全措施,同時我建議大家對疑似攻擊行為做出小心和明智的反應。
以上就是PHP安全-平衡風險與可用性的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!