0

我有一个 jquery 移动应用程序,它使用 ajax 来调用我用 C# 编写的 asp.net web 方法。这些方法查询 SQL Server 数据库并返回数据。此时无需用户注册。在喜欢、评论和发布到用户的墙/时间线方面,我还使用 javascript sdk 进行了一些 Facebook 集成。

我开发的下一步是用户将能够支付费用以将数据输入到我的数据库中。我想避免进入用户/密码管理,而是依靠 facebook 登录(以后可能还有其他社交网络,现在让我们坚持使用 facebook)。

所以我看到的工作流程是:

  1. 如果尚未登录,我会提示用户登录 Facebook
  2. 用户在我的网站上点击“购买”,这是一个贝宝按钮
  3. 用户被发送到安全的贝宝页面,付款,然后返回我的网站
  4. 付款成功后,我调用了一个 Web 方法来插入新数据,该数据被标记为由该 facebook 用户输入。Web 方法将连接到执行所有获取的同一个 sql server 帐户,不会有单个访问者的 sql server 用户帐户。

我在这里看到了一些有趣的安全漏洞。就像有人编写代码直接调用我的插入 Web 方法一样,无需支付任何费用。我正在寻找有关如何以安全的方式将所有这些步骤联系在一起的指导,以便最后,我保证输入的任何数据都是 a) 付费的,并且 b) 由当前登录的 facebook 用户输入

我已阅读 facebook login developer docs、paypal developer docs 和 microsoft asp.net application services docs。我基本上可以理解每一个,但我迷失了将它们全部捆绑在一个单一的、安全的交易中。任何提示将不胜感激!

提前致谢...

4

1 回答 1

0

您需要做的是 - 在您的插入网络方法中,验证用户是否已付款。你可以通过几种方式做到这一点。使用 PayPal IPN(即时付款通知)确认付款或切换到 PayPal Express Checkout API,以便在用户被重定向回您的站点后以编程方式验证付款。这是一个快速的操作指南,可以帮助您实现这一点:https ://www.x.com/developers/paypal/documentation-tools/express-checkout/how-to/ht_ec-singleItemPayment-curl-etc

于 2012-12-07T04:48:59.607 回答