在前端调用 WooCommerce、WordPress 和 CoCart 端点安全吗?我需要你的意见

Safe to call WooCommerce, WordPress and CoCart endpoints in frontend? I need your opinion

问题

我有一个关于安全的问题。我正在 Flutter 中构建一个 移动网店 。在 前端 中进行那些 API 调用是不是很糟糕?例如,我应该在 Node 中为它创建一个单独的 backend 吗?

我还了解到,您可以使用 PHP 在 WordPress 中 'create' 自己的端点。那个怎么样?这会使它更安全吗?

我使用哪些端点?

现有 WooCommerce API 可以检索产品、获取类别、在 WooCommerce API 上创建订单。在 CoCart API 上,您可以检索购物车、添加到购物车、删除购物车等...

对于Mollie支付APIs,我觉得做个后台比较好

我的看法

我认为在前端调用这些端点是可以的。我已经看到 WooCommerce 的 Flutter 包可以调用这些端点。是的,我确实在 headers...

但在另一边。 'hacker' 可以做什么?他们可以看到所有产品,我想这很好。我不确定他们是否可以创建订单...他们至少不能偷钱:)

参考代码

作为参考,这里是调用端点时的一段代码:

Future<Product> getProductById(int productId) async {
    String basicAuth =
        'Basic ' + base64Encode(utf8.encode('$username:$password'));
    print(basicAuth);

    var response = await http.get(
        Uri.parse(
            'https://websitename/wp-json/wc/v3/products/${productId}'),
        headers: <String, String>{'Authorization': basicAuth});
    if (response.statusCode == 200) {
      return Product.fromJson(jsonDecode(response.body));
    } else {
      throw Exception('Failed');
    }
  }

让我知道你的意见!

在谈论安全性时,主要问题是什么通过网络请求。如果上面代码中的用户名和密码需要保密,则不能在客户端。

如果您向用户发送了代码,用户会收到它并且可以在跟踪网络请求时检查发生了什么。

您始终可以跳过 UI,调试网络请求并获取通过该请求发送的所有详细信息,然后使用 cURL 或其他任何方式发送这些请求。然而,客户端必须以某种方式进行身份验证,这是“未列出”URL 的一个广泛主题,您只需要具有准确的“随机 ID”即可访问资源(例如,youtube 或许多文件共享服务将其用作“未列出”link, 这意味着这不会出现在搜索结果中,但如果你有确切的 link,你将进入资源)到 oAuth2,你可以了解更多关于 here 和 你也可以检查这个 post ,它涵盖了 token-based authentication.

的几种方法