ios cookie 登陸的實現

ios登陸中可以用cookie進行登陸驗證,類似於網頁的功能實現。可以由服務器以cookie的形式把用戶信息保存到應用內。

 NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];

for (NSHTTPCookie *cookie in [cookieJar cookies]) {

//通過判斷cookie的name、domain、value、等

}

//添加http的header頭。

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20];

    NSString *s = [AFTools duoMengdateTransmitWithIphone];


    [request setValue:s forHTTPHeaderField:@"*******"];


將用戶的認證信息保證在一個cookie中,具體如下:

1.cookie名:uid。推薦進行加密,比如MD5('站點名稱')等。
2.cookie值:登錄名|有效時間Expires|hash值。hash值可以由"登錄名+有效時間Expires+用戶密碼(加密後的)的前幾位+salt",salt是保證在服務器端站點配置文件中的隨機數。
這樣子設計有以下幾個優點:
1.即使數據庫被盜了,盜用者還是無法登錄到系統,因爲組成cookie值的salt是保證在服務器站點配置文件中而非數據庫。
2.如果賬戶被盜了,用戶修改密碼,可以使盜用者的cookie值無效。
3.如果服務器端的數據庫被盜了,通過修改salt值可以使所有用戶的cookie值無效,迫使用戶重新登錄系統。
4.有效時間Expires可以設置爲當前時間+過去時間(比如2天),這樣可以保證每次登錄的cookie值都不一樣,防止盜用者窺探到自己的cookie值後作爲後門,長期登錄。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章