HTTP請求和資料安全

2021-07-10 11:32:37 字數 3287 閱讀 5201

/*------------------------------------- 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位址後...