2014-02-28 118 views
0

我必須在PHP中構建一個paypal購物車(這是我使用的教程:http://jdmweb.com/how-to-easily-integrate-a-paypal-checkout-with-php)。Paypal結帳php:如何安全購物車?

在最後我有一個HTML形式是這樣的:

<form id="paypal_checkout" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    <!-- Paypal: Valeurs définissant que les produits appartiennent à un panier --> 
    <input type="hidden" name="cmd" value="_cart"> 
     <input type="hidden" name="upload" value="1">   
     <input type="hidden" name="no_note" value="0">      
     <input type="hidden" name="bn" value="PP-BuyNowBF">     
     <input type="hidden" name="tax" value="0">   
     <input type="hidden" name="rm" value="2"> 

    <!-- Paypal: Valeurs de configurations du compte paypal créditeur --> 
    <input type="hidden" name="business" value="[email protected]"> 
     <input type="hidden" name="handling_cart" value="6.1"> 
     <input type="hidden" name="currency_code" value="EUR"> 
     <input type="hidden" name="lc" value="FR"> 
     <input type="hidden" name="return" value="http://localhost/site-web-commercial/controllers/ControllerCommande.php?action=retourPaypal">   
     <input type="hidden" name="cbt" value="Revenir chez Home Lampe"> 
     <input type="hidden" name="cancel_return" value="http://localhost/site-web-commercial/controllers/ControllerCommande.php?action=cancelPaypal">   
     <input type="hidden" name="custom" value=""> 

      <div id="item_1" class="itemwrap"> 
      <input type="hidden" name="item_name_1" value="produit1"> 
      <input type="hidden" name="quantity_1" value="4"> 
      <input type="hidden" name="amount_1" value="18.67"> 
      <input type="hidden" name="shipping_1" value="0"> 
     </div> 
      <div id="item_2" class="itemwrap"> 
      <input type="hidden" name="item_name_2" value="produit3"> 
      <input type="hidden" name="quantity_2" value="2"> 
      <input type="hidden" name="amount_2" value="22.22"> 
      <input type="hidden" name="shipping_2" value="0"> 
     </div> 

     <input id="ppcheckoutbtn" type="button" name="submitPaiement" value="Checkout" class="button"> 
</form> 

我的問題是一個實驗用戶可以(與螢火蟲例如)發送之前修改形式的量。

有沒有一種方法可以像這樣對錶單進行安全性檢查?

我認爲是在ajax中獲取表單,然後將其提交給PayPal。這樣用戶不能修改項目的數量。我不知道這是不是最好的選擇。

這是一個不想在貝寶網站創建項目但只在其網站後臺創建項目的網站。

在此先感謝您的幫助。

回答

3

如果您要使用ajax,則無關緊要。總是用戶將有辦法改變他發送給你的數據。開發應用程序時的基本規則決不會信任用戶的數據。

在這種情況下,訣竅是收集主要數據,所以物品ID和金額。您不會從表格中扣除價格。在發送之前,請檢查數據庫中所選產品的價格並將其發送到Paypal。

所以他可以修改的唯一變量是產品和金額。如果他將數額從1改爲10,他將只支付10,所以這不是問題:)

我不知道你正在使用這個類,但它是非常不安全的,你不應該使用它。 您可以使用curl將數據發送到Paypal,而不是直接從表單中。

您應該閱讀如何使用快速結賬或直接付款。

+0

感謝您的回覆,我找到了一個捲曲的教程。 – Chewbye