簡體   English   中英

PHP-從iOS應用保護POST URL

[英]PHP - Securing POST URLs from iOS App

請原諒我的無知,我是PHP的新秀。 我正在嘗試的iOS應用程序具有一個已構建的PHP API,該API發出如下請求:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://beta.myapp.com/api/addUser.php?id_user=%@&user_email=%@&user_f_name=%@&user_l_name=%@&user_mobile=%@", iduser, email, fName, lName, mobileText]];

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {

    if (error) {
        NSLog(@"Error,%@", [error localizedDescription]);

    } else {

        // Do some stuff                        

     }

}];

但是,此URL容易受到發現該URL僅通過Web瀏覽器輸入所需數據的任何人的影響,對嗎?

我將如何保護這些請求,以使某人無法使用自己的參數在地址欄中鍵入該URL?

一種實現方法是使您的PHP API成為HTTPS連接,要求正確的授權標頭才能執行POST請求。 您傳入的授權標頭是這樣的:

//Auth header
NSString *authStr= [NSString stringWithFormat:@"%@:%@",usernameOfAdmin,passwordOfAdmin];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];

然后,您將擁有每個POST請求所需的管理員憑據。 您甚至可以使用加密算法來確保您的iOS用戶不會保留用戶名和密碼。 從iOS應用執行正確的注冊后,您將使用這些憑據。 其他訪問您的PHP API的用戶將不知道用戶名和密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM