2011-11-02 20 views
11

Tôi có một Mobile App (iPhone và Android) cho phép người sử dụng để đăng nhập vào tài khoản của mình, prefs thay đổi vv ...giao dịch an toàn giữa ứng dụng di động và ĐÈN

Tôi muốn thêm một tính năng mới, nơi người dùng có thể mua sản phẩm thông qua thiết bị của mình hoặc nâng cấp dịch vụ của mình. Mọi thứ sẽ chạy từ thiết bị và tôi muốn thực hiện từng giao dịch mà người dùng làm cho nó đồng bộ với máy chủ web.

Tôi có thiết lập HTTPS trên máy chủ của mình. Tôi muốn biết nếu:

  1. Đó là một phương pháp hay? hoặc tôi chỉ nên yêu cầu người dùng sử dụng trang web của chúng tôi
  2. Nếu "có", HTTPS có tốt để xử lý các giao dịch này không?

Cảm ơn

Trả lời

14

vâng đó là một thực hành tốt.

trước hết LUÔN LUÔN sử dụng HTTPS.

đảm bảo chứng chỉ của bạn hợp lệ và đáng tin cậy.

cho iphone:

cho android:

mã hóa dữ liệu thứ hai của bạn.

mọi thuật toán mã hóa hoặc mã hóa rsa sẽ thực hiện thủ thuật.

truyền dữ liệu bằng GET/POST không được gửi ở dạng văn bản thuần túy như:? User = myuser & pass = mypass. thay vào đó hãy sử dụng cái gì đó như? h28JduDak30fT1pfgmSnShNms762023lflsfdj2h4J. sau đó trên máy chủ của bạn, bạn chỉ cần giải mã nó bằng cách sử dụng một muối chỉ điện thoại của bạn và máy chủ biết.

dụ mã cho iphone:

NSString *encrypteddata =[NSString stringWithFormat:@"key=enryptedstring"]; 
NSData *data = [encrypteddata dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
NSString *datalen = [NSString stringWithFormat:@"%d", [data length]]; 
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"https://yourserver:443/loginscript"]]; //:443 very importantz 
[request setHTTPMethod:@"POST"]; 
[request setValue:datalen forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:data]; 

ý tưởng tương tự cho android

sau đó trên máy chủ của bạn, bạn có thể giải mã $ _POST [ 'chìa khóa'] và làm logic của bạn đăng nhập (hoặc người khác)

đây là tài nguyên khác sẽ giúp bạn:

lưu ý: cho android bạn shoud hãy nhìn vào các HTTPComponents

đọc thêm

+0

cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn – Tech4Wilco

Các vấn đề liên quan