符合iOS最通用的安全指導規範

2022-06-14 20:54:14 字數 1008 閱讀 5317

如何保證使用者介面符合ios最通用的安全指導規範。

遵從以下規範:

確認使用者在文字框或檢視中輸入的文字在傳送到伺服器前經過驗證。

確保儲存在磁碟檔案或者鑰匙串中的使用者資料是安全的。

在使用者輸入密碼或者數值碼來驗證身份的場景中,一旦該檢視控制器不顯示在螢幕上時,需要清空密碼輸入框,因為使用者已經不再需要輸入。如果還沒放棄這些檢視控制器的所有權,它們的資訊將會留在記憶體當中,而這些檢視控制器還包含著敏感文字資訊。一旦這些敏感資料使用完畢,最好清理儲存資訊的這塊記憶體。

需要進一步說明上述列表中的第二條。當使用者在ios裝置的螢幕上檢視應用時,按下home鍵可以將應用置為不啟用狀態並轉到後台。之後ios會儲存應用介面在螢幕上的截圖,截圖檔案儲存在應用沙盒的library/caches/snapshots/資料夾裡。當使用者將應用重新置為前台狀態時,ios會暫時顯示截圖內容,直到應用重新啟用並控制螢幕,這樣讓後台到前台的切換看起來很流暢。雖說這項功能對使用者體驗來說是加分項,但也要考慮其安全性。當應用螢幕被截圖時,螢幕上的敏感資訊也會儲存在檔案中並儲存在磁碟上。ios裡並不能禁用這項功能,但是可以抵銷它對安全方面帶來的負面作用。蘋果推薦的解決辦法是,在應用的主視窗上覆蓋別的檢視,或者通過設定hidden為true在程式不啟用的狀態下隱藏主視窗,當程式被啟用時,將屬性值改回false使視窗變得可見。

為了符合這項安全要求,ios開發者常犯的乙個錯誤是將應用keywindow的hidden屬性置為true或者false。 雖然keywindow在程式非啟用狀態時是乙個有效的視窗,但在程式啟用狀態下,它的值是nil。為避免這個錯誤,需要在應用的委託中使用window屬性來隱藏或顯示視窗。

其他引發安全問題的因素還有個人資訊殘留在檢視控制器中。假定有乙個負責登入的檢視控制器可供使用者輸入使用者名稱和密碼。當登入按鈕被按下時,使用者憑證會以https網路連線傳送到伺服器。使用者通過驗證後,會被推送到另乙個檢視控制器。這種方式的問題在於輸入的使用者名稱和密碼仍然在記憶體當中,因為輸入的檢視控制器還在記憶體中。(想起來沒,它還在導航控制器的檢視控制器棧中。)

MS SQL 2005 最簡單最通用的分頁儲存過程

主要使用mssql的新函式row number實現,我是配合ext.net使用的,記錄下來,以備後用,如有不對,觀迎指正。僅僅是實現了分頁,效率沒有考慮,我也是一mssql新手,所有 就是google組成的。獲取count要select一次,獲取記錄集又select一次,實在不是個好辦法,但我一直沒...

ios的安全機制

ios是由蘋果公司為iphone開發的作業系統。它主要是給iphone ipod touch以及ipad使用。就像其基於的mac os x作業系統一樣,它也是以darwin為基礎的。原本這個系統名為iphone os,直到2010年6月7日wwdc大會上宣布改名為ios。ios的系統架構分為四個層次...

iOS 教你寫通用的description方法

property readonly,copy nsstring description description是nsobject的乙個唯讀屬性,對於一般的屬性都會有getter和setter方法,但是readonly的屬性顧名思義就只有getter方法啦。當你在xcode控制台使用po命令列印乙個物...