/*------------------------------------- 01 http請求---------------------------------------*/
重點:1.超文字傳輸協議. 2.http請求過程.
2> http協議的使用;
完整的http通訊分為兩步:
<1> 請求:客戶端向伺服器索要資料.
<2> 響應:伺服器返回客戶端想要的資料.
3> 傳送http請求:
<2> 第三方框架:
在開發中,一般使用第三方框架. }
}/*------------------------------------- 02 get 和post ------------------------------------*/
重點:1.get 和post的區別? 2.用post方法傳送登陸請求.
增:put
刪:delete
改:post
查:get }
<2> 引數
<3> get 和post 的主要區別表現在引數的傳遞上.
"get":
"post":
<4>注意:url中不能出現空格以及中文等特殊符號.
1>url中,所有的字元都必須是ascii 碼;
2>url中不能出現中文和特殊符號(如空格);
所以,如果url 中出現了中文,需要新增百分號轉譯.
urlstring = [urlstring stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
<5> post 傳送登陸請求:
注意:
1> 用可變請求: nsmutableurlrequest *request = [nsmutableurlrequest requestwithurl:url];
2> 指定請求方法: request.httpmethod = @"post";
3> 設定請求體資料: request.httpbody = data;
// 例項化請求體字串
nsstring *body = [nsstring stringwithformat:@"username=%@&password=%@",self.username.text,self.password.text];
// 將字串轉換成二進位制資料
nsdata *data = [body datausingencoding:nsutf8stringencoding];
4> 傳送非同步網路請求.
[nsurlconnection sendasynchronousrequest:request queue:[nsoperationqueue mainqueue] completionhandler:^(nsurlresponse *response, nsdata *data, nserror *connectionerror) ] }
/*------------------------------------- 03 儲存使用者資訊-------------------------------------*/
重點:1.偏好設定儲存使用者資訊.
// 載入偏好設定中的使用者資訊
- (void)loaduserinfo
if([user objectforkey:ituserpasskey]) ; }
<2> 使用者登陸業務邏輯
<3> 問題: 使用者密碼不能以明文的形式儲存,需要對使用者密碼加密之後再儲存!
密碼的安全原則:
1> 本地和伺服器都不允許儲存使用者的密碼明文.
2> 在網路上,不允許傳輸使用者的密碼明文.
現代密碼學趣聞! 中途島海戰(af)
<4> 資料加密演算法:
1> 對稱加密演算法:加密和解密使用同一金鑰.加密解密速度快,要保證金鑰安全.適合給大資料加密.
2> 非對稱加密演算法:使用公鑰加密,私鑰解密.或者使用私鑰加密,公鑰解密.更加安全,但是加密解密速度慢,適合給小資料加密.
<5> 小技巧:
openssl :是乙個強大的安全套接字層密碼庫,囊括主要的密碼演算法,常用的金鑰和證書封裝管理功能以及ssl 協議.提供豐富的應用程式測試功能.
終端命令:
echo hello |openssl md5
echo hello |openssl sha1
echo hello |openssl sha -sha256
echo hello |openssl sha -sha512 }
/*------------------------------------- 04 資訊保安加密-------------------------------------*/
常用加密方法: 1> base64 2> md5 3> md5加鹽4> hmac 5> 時間戳密碼(使用者密碼動態變化)
2> md5 -- (資訊-摘要演算法) 雜湊演算法之一.
3> md5加鹽
4> hmac
5> 時間戳密碼(使用者密碼動態變化)
// ip輔助/手機繫結... }
/*-------------------------------------- 05 鑰匙串訪問-------------------------------------*/
重點: 1.鑰匙串訪問
} /*-------------------------------------- 06 指紋識別---------------------------------------*/
重點: 1.指紋識別用法
2. 例項化指紋識別物件,判斷當前裝置是否支援指紋識別功能(是否帶有touchid).
// 1> 例項化指紋識別物件
lacontext *lactx = [[lacontext alloc] init];
// 2> 判斷當前裝置是否支援指紋識別功能.
if(![lactx canevaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics error:null]) ;
3.指紋登陸(預設是非同步方法)
// 指紋登陸
[lactx evaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics localizedreason:@"指紋登陸"reply:^(boolsuccess, nserror *error)
else
}];
HTTP請求和資料安全
請求 重點 1.超文字傳輸協議.2.請求過程.2 協議的使用 完整的 通訊分為兩步 1 請求 客戶端向伺服器索要資料 2 響應 伺服器返回客戶端想要的資料.3 傳送http請求 2 第三方框架 在開發中 一般使用第三方框架.02 get 和post 重點 1.get 和post 的區別?2.用 po...
HTTP請求和資料安全
1開發中基本所有的請求都是http請求,即時通訊 im 除外 2最常用的http請求 get post head 3http請求內容 1 客戶端傳送請求 1 請求行 包括請求方法 資源路徑 http版本協議 2 請求頭 請求頭資訊中包含伺服器所需要的引數,大部分不需要手動設定 3 請求體 get請求...
HTTP請求和HTTP響應
客戶端連上伺服器後,向伺服器請求某個web資源,稱之為客戶端向伺服器傳送了乙個http請求,乙個完整 的http請求包括 描述客戶端的請求方式,請求資源名稱,使用的http協議版本號 請求方式get post 預設是get可以更改表單提交方式為post 區別主要在資料傳遞上 get可以在url位址後...