【问题标题】:Stripe security issue条纹安全问题
【发布时间】:2015-03-28 20:20:00
【问题描述】:

我目前正在将 Stripe 集成到我的在线商店中。正如您在下面的代码中看到的那样,付款表单被插入到 HTML 中,其中包含每个表单字段的值。这意味着用户基本上可以更改该字段的价格,并进行欺诈。

这安全吗?如果没有,我该如何添加安全措施?

谢谢! :)

<form action="" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="deleted_for_demonstration"
    data-amount="2000"
    data-name="Demo Site"
    data-description="2 widgets ($20.00)"
    data-image="/128x128.png">
  </script>
</form>

【问题讨论】:

  • 所有重要的东西都应该在服务器上处理。用户可以发送他想要的任何东西,不用担心这个,但你必须在服务器上验证传入的数据。
  • 谢谢,但我该怎么做呢?我以前从未使用过这个,如果我不知道下一步该怎么做,一些指导会很好

标签: javascript php security stripe-payments


【解决方案1】:

我假设您使用的是 Stripe.JS,在这种情况下,您不需要在表单中使用价格。

我会尝试将您的代码更改为如下所示的流程...

比如……

用户通过产品页面上的发布请求选择产品 ID 123。 然后你存储他们在会话中选择了这个产品。

当他们结帐时...

在前端的卡片详细信息上使用条带JS,将表单卡片详细信息交换为令牌。

将此令牌发布到服务器。

然后,网络服务器根据会话中的产品计算金额,使用 mysql 表获取它们的价格,然后将其与返回的令牌一起提交到条带以处理付款。

希望这是有道理的......

【讨论】:

  • 这个表格是什么样子的?我明白你的意思,我只是完全不知道代码是什么样子的
  • 告诉我更多关于你的商店的信息?您是使用解决方案还是自己构建解决方案?您有一个产品还是多个产品?您如何存储购物车会话数据?
  • 我正在自己构建它,有多种产品。用户可以使用购物车中的结帐按钮一次购买多个产品。购物车存储为会话,我可以访问购物车中产品的所有信息等。
  • 当然,所以当您带他们通过结帐时,请发送会话中的所有产品。
猜你喜欢
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 2016-12-31
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多