不同网站之间的安全购买

发布于 2024-11-17 21:52:03 字数 195 浏览 0 评论 0原文

有一个网站 A,它有一个用户池。有一个单独的网站B,销售数字商品。

我想允许A网站的用户在不注册或访问B的情况下从B网站进行购买。

鉴于A网站与B网站达成协议按月支付账单,如何在不打开漏洞的情况下授权购买对于恶意攻击者?

我想到的第一个解决方案是存储主密码来授权单用户购买,这是一场安全噩梦,但我没有更好的办法了。有什么想法吗?

There is website A, with its pool of users. There is a separate website B, which sells digital goods.

I want to allow users of website A to make a purchase from website B, without registering or visiting B.

Given that site A has an agreement with site B to pay the bill on a monthly basis, how can you authorize purchases without opening a vulnerability for malicious attackers?

The first solution which come to my mind, storing a master password to authorize single user purchase, is a security nightmare, but I can't thing anything better. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

纸伞微斜 2024-11-24 21:52:03

您可以使用 SAML (http://en.wikipedia.org/wiki/SAML) 来实现此目的。

站点 A 将具有用户名/密码和其他信息来验证最终用户的身份。经过身份验证后,站点 A 可以将用户发送到站点 B,站点 B 将调用站点 A 公开的服务来确认用户确实是从站点 A 发送的。

例如,

  1. 用户“abc”登录站点 A
  2. 用户点击某项(在站点 A 上) )从站点 B 购买东西
  3. 站点 A 会为此操作生成一些随机且唯一的令牌。
  4. 用户被发送到站点 B(通常通过 POST 使用指向站点 B 的表单)。表单字段之一是此令牌,
  5. 站点 B 调用站点 A 上的某些服务来验证令牌并检索为其生成令牌的用户名。服务可能会返回其他信息,例如此交易的购买限制。

整个通信都通过 SSL 进行,这一点非常重要。这将有助于减轻中间人攻击。

You can use SAML (http://en.wikipedia.org/wiki/SAML) for this purpose.

Site A will have username/password and other information to authenticate end users. After authentication, site A can send users to site B and site B will call a service exposed by site A to confirm that user is indeed sent from site A.

E.g.

  1. user 'abc' logins on site A
  2. user clicks on something (on site A) to buy something from site B
  3. Site A generates some random and unique token for this action.
  4. User is sent to Site B (usually by POST on a form that points to site B). One of the form fields would be this token
  5. Site B calls some service on Site A to validate the token and to retrieve username for which token was generated. Service might return other things like purchase limit for this transaction.

It is VERY important that the whole communication happens over SSL. This will help mitigating Man-in-the-middle attacks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文