square-connect - 方形支付:如何保护“存档卡”免受数据泄露
问题描述
我正处于整合 Square 支付的早期阶段。在我的应用程序中,允许用户保存他们的卡详细信息是有意义的,因为我们期望进行多次小额交易。Square 将此功能称为“存档卡片”。
作为此过程的一部分,您将在 Square 的系统中创建客户和相关卡;这些 ID 将保存在我的系统中并与我的用户相关联;这样,当他们再次付款时,他们可以选择使用存档卡的选项。实际向卡收费的 API 只需要这两个 ID 和一个 amount。
让我担心的是,我的数据库保存着从客户卡上收费所需的所有数据。我可以编写一个脚本,只向我的所有客户收取一定数额的费用——当然,有权访问我数据的黑客也可以做同样的事情。
我没想到我的系统中会有这种级别的风险——我的假设是 Square 会将我与此隔离(通过某种用户对丢失数据的挑战——例如 CCV 编号)。似乎安全的选择是不使用“存档卡”功能并让用户每次都重新输入。
这是对的,还是我在这里完全误解了一些东西?
解决方案
为了从卡中扣款,需要您的 Square 访问令牌以及卡 ID。最好将该访问令牌存储为环境变量以限制安全风险。如果有人获得了对您数据库中卡 ID 的访问权限,那么如果没有与您的开发者帐户关联的访问令牌,他们将无法向任何卡收费。
推荐阅读
- javascript - 如何在刻度值中创建具有可变刻度间隔并且刻度值之间具有相同距离的左轴
- java - 如何在java中使用带有条件的比较器
- php - 如何将此邮递员转换为 curl php?
- tensorflow - 重新训练 Keras 模型后如何打印训练数据大小
- html - 谁能告诉我如何在 Python 上提取和显示图像中的文本
- php - 如何使用 laravel 查询生成器检索 12 个月的月度摘要?
- android - Android:在一个视图中保留多个 snakbar
- python - 如何修复 Tkinter Python 中的“TCL 错误”?在 Jupyter 笔记本上工作
- xcode - 在 Xcode 中创建新文件时出现奇怪的相对路径。它与 macOS Catalina beta 4 版本有关吗?
- javascript - JQuery Datatable 仅适用于空(无数据)表