如果您在IPN中进行适当的检查,未加密的PayPal按钮是否安全?

时间:2017-04-21 12:08:18

标签: c# asp.net paypal paypal-ipn payment

我使用以下代码创建付款按钮,并动态修改金额,货币代码和自定义值:

<input type="hidden" name="business" value="test1@example.com" />
<input type="hidden" name="currency_code" value="GBP" />
<input type="hidden" name="item_name" value="test payment" />
<input type="hidden" name="amount" value="0" />
<input type="hidden" name="custom" value="0" />
<input type="hidden" name="notify_url" value="http://www.example.com/IPN.aspx" />
<input type="hidden" name="return" value="http://www.example.com/Thanks.aspx" />
<input type="hidden" name="lc" value="GB">
<input type="hidden" name="item_name" value="test app">
<input type="hidden" name="button_subtype" value="services">

我传递的产品的产品ID即时销售&#39; custom&#39;然后我在我的IPN.aspx中进行一些检查,检查金额和货币的值是否未通过使用ProductID来修改,以获取产品价格的详细信息。来自我的数据库的货币,并将其与paypal返回的内容进行比较。当然这是安全的,因为如果我的IPN中的详细信息不匹配,则不会记录付款?

我已经四处寻找答案,人们只是说它不安全,因为你可以使用fiddler / tamperdata等来更改金额或货币代码的值,但我肯定会这样做。 ;检查IPN然后这是安全的。以这种方式付款的安全风险是什么?有没有办法破解或滥用它?

0 个答案:

没有答案