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值後作爲後門,長期登錄。