ios - 处理信用卡和IOS

标签 ios objective-c

我正在使用 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/

    相关文章:

    ios - 如何在每个 Controller View 上重用滑动菜单的栏按钮

    ios - 执行模态搜索时出现错误的presentingViewController(使用ECSlidingViewController)

    ios - WKInterfacelabel 检查是否被截断

    ios - 何时调用 SQLite 清理函数?

    objective-c - 如何确定 UIPickerView 旋转的方向?

    ios - ld : building for iOS Simulator, 但链接到为 MacOSX 文件构建的 dylib

    ios - UITableView上未调用LongPress手势

    objective-c - TableView 交互阻止单元格中的动画

    ios - Mac Catalyst 应用程序在其他 Mac 上崩溃,但从 Xcode 运行时仍能正常工作

    ios - 管理以编程方式实例化的 View Controller 的实例