我正在使用 NSUrlConnection 异步请求将信用卡信息传输到安全的第三方服务器。
我做了以下事情:
- 我从 uitextfields 中获取信用卡号、cvv 等。
将信用卡信息编码为 json 格式。设置为
NSURLConnection
请求的httpd主体如下:NSDictionary * params = @{"creditCardNumber": @"4242....", @"cvv": @"455".... NSURL * url = [[NSURL URLWithString: "https://www.example.com"]; NSMutableURLRequest * request = [[NSMutableURLRequest alloc] initWithURL: url]; [request setHTTPMethod: @"POST"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setHTTPBody: [NSJSONSerialization dataWithJSONObject: params options: kNilOptions error: &parseError]];
通过异步请求将此信息发送到安全的第三方服务器:
[NSURLConnection sendAsynchronousRequest:request queue: queue completionHandler:^(NSURLResponse *response, NSData *data, NSError * requestError) {
使用 nsurlconnection 异步请求将用户信用卡信息发送到第三方服务器应该考虑什么?
这是从移动应用发送信用卡信息的正确方式吗?
如何防止中间人攻击?
最佳答案
根据您的工作,您可能需要遵守 PCI、PADSS 等标准。
除了通过 HTTPS 进行通信外,针对中间人攻击的一般加固流程还包括:
- 不要在设备上存储任何详细信息。存储在 RAM 中是可以的。
- 后端指示您使用许多预取的公共(public)加密 key 之一。每个键都与一个 ID 相关联。您将从本地商店获取它指示您使用的 key 。您将使用该 key 创建 deta 的哈希值。然后发送到后台。
对于加密,我建议查看 CoocaSecurity项目。它包装了一些较低级别的 API,使它们更容易“消化”(请原谅双关语)。
关于ios - 处理信用卡和IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483309/