api - 使用 paypals html api 安全吗?

标签 api paypal

我正在试用 paypals html api,您可以在 html 中指定价格、商品名称、客户信息等:

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="payPalForm">

        <input type="hidden" name="cmd" value="_cart" />
        <input type="hidden" name="upload" value="1" />

        <input type="hidden" name="no_note" value="1" />
        <input type="hidden" name="business" value="your@paypalaccount.com" />
        <input type="hidden" name="currency_code" value="SEK" />
        <input type="hidden" name="return" value="http://freelanceswitch.com/payment-complete/" />

        <input type="hidden" name="tax_rate" value="25" />

        <input type="hidden" name="item_name_1" value="Apple Macpro" />
        <input type="hidden" name="item_number_1" value="01 - Product 1" />
        <input type="hidden" name="amount_1" value="25000" />

        <input type="hidden" name="item_name_2" value="Apple Macbook" />
        <input type="hidden" name="item_number_2" value="02 - Product 2" />
        <input type="hidden" name="amount_2" value="12500" />

        <input type="hidden" name="item_name_3" value="Apple Macbook Air" />
        <input type="hidden" name="item_number_3" value="03 - Product 3" />
        <input type="hidden" name="amount_3" value="12500" />

        <input type="submit" name="Submit" value="Submit" />

    </form>

当用户点击提交时,他/她将转到 Paypal 支付页面。

但这是否意味着黑客可以通过操纵 html 代码来更改顺序?

我不明白 paypal 是如何防止这个安全问题的。

最佳答案

当然,看起来确实有人可以更改 HTML 并重新提交表单。

我不确定 PayPal,但 Google Checkout 处理此问题的方式不是设置 HTML,而是让您创建 XML,使用商家 key 对其进行加密,然后使用 HTML 中的加密字符串传递给 Google。然后,Google 使用您的商家 key 对其进行解密,瞧 - 不可篡改。

查看 PayPal 的文档,了解“购物车签名”或“请求加密”等内容。他们也可能会回调您的服务器,告诉您发送了什么,您可以将其与您的数据库进行比较,看看价格是否仍然正确。

关于api - 使用 paypals html api 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559763/

相关文章:

ios - 防止调用 API 获取时间范围内的数据

java - Google map 中的缩放动画

PHP PayPal Sandbox在交易后无法获得值(value)

ios - iOS 上的 Chrome 是否支持文件系统 API

非全屏模式下的 iOS 5 后置摄像头预览

web-services - WEB API 的 VS WEB 服务?

ruby-on-rails - Paypal API 调用以获取订单详细信息

ruby-on-rails - activemerchant Paypal 网关配置

paypal - 使用 IPN 模拟器发送 Paypal 定期付款命令

php - 在 php 脚本中执行 curl 命令并从服务器获取响应并提取它