如何解决我的 Wix 站点中的订阅处理可能存在安全问题?
我目前正在开发的 Wix 网站安装了定价计划应用程序,根据这些计划,用户可以通过我正在开发的应用程序访问我在网站上公开的某些 API 功能。由于我无法在 http-functions.js 文件中检索用户对象,因此我不得不创建一个单独的集合来存储有关用户订阅的数据。订购计划后,这工作正常,因为我可以连接到 onPlanPurchased 事件并执行我需要的任何逻辑来修改所述集合。但是,不存在取消计划的此类事件,这意味着对集合的任何修改都必须由从客户端代码调用的后端函数完成,例如:
cancelPlan(wixUsers.currentUser.id)
.then( (results) => {
if (results === "SUCCESS") {
wixPaidPlans.cancelOrder(orderId)
.then( () => {
wixWindow.openLightbox("PlanCancelled");
})
.catch( (err) => {
wixWindow.openLightbox("PlanCancelFailed");
});
}else {
wixWindow.openLightbox("PlanCancelFailed");
}
})
.catch( (err) => {
wixWindow.openLightbox("PlanCancelFailed");
});
正如您所看到的,这里的问题是,由于这是在浏览器中运行的,是否有人可以修改它并仅运行 wixPaidPlans.cancelOrder() 行而不运行我的后端功能?如果是这样的话,有人可以取消他们的付款,但仍然可以通过我谈到的 API 函数访问我网站提供的东西。我担心这个是否正确?如果是这样,是否有人对我如何处理此问题有任何指示?谢谢。
解决方法
我不久前忘记了这个问题,但想更新它,因为我最终找到了解决方案。
Wix 有几个 webhook,可用于指向您网站上的 API/HTTP 功能。其中一个 webhook 用于当支付计划被取消时,这个事件可以指向 http-functions.js 中的一个函数,相关逻辑可以在那里完成,确保一切都可以按预期执行,但是过程也可以由用户启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。