2013-04-22 102 views
2

我有一個在預訂過程結束下列表格(簡體):貝寶安全缺陷?

<form action="https://www.paypal.com/cgi-bin/webscr" name="paypalForm" method="post"> 
<input type="hidden" name="amount" value="<?=$price;?>"> 
<input type="hidden" name="business" value="[email protected]"> 
<input type="hidden" name="notify_url" value="http://website.co.uk/ipn"> 
</form> 

我只離開了,如:地址名稱等,所以,當他們通過PayPal支付,我使用貝寶IPN來將它們標記在數據庫中作爲付費。 但是 ..

我已經走到我的預訂系統的末尾,查看網頁的源代碼,修改了商家的電子郵件地址和金額。我還沒有嘗試完整的交易,但肯定與PayPal的'notify_url'一起發送IPN消息到我的服務器,並將該人標記爲已付款?這不是可怕的安全嗎?這當然不是所有貝寶付款的工作方式,我必須錯過一些東西。

有兩件事我能想到的可能阻礙:

  1. 如果我刪除「notify_url」,將IPN的網址,我已經設置在貝寶工作呢? paypal對隱藏的變量有什麼價值,它覆蓋了貝寶後端的設置嗎?
  2. 在我的IPN代碼中,我可以檢查業務和金額。我目前沒有,因爲我沒有閱讀我應該在文檔中的任何地方。但現在,我想這也許是一個非常好的主意。

回答

1

沒有任何支票可以通過PayPal完成,以瞭解應該使用的金額或電子郵件地址的正確金額,還是隻應將IPN URL與特定的PayPal帳戶一起使用。你的選擇將被寫入​​像你已經提到的額外檢查。除了您已經提到的有關您的兩種解決方法之外,第三種選擇是使用PayPal的BMCreateButton API即時創建託管或加密的按鈕。那麼買方只會看到加密的按鈕代碼,他們將無法查看您的HTML按鈕代碼。因此,他們將無法修改任何變量,或查看當前設置的內容。

+0

嗯,好的,謝謝!因爲這對我來說似乎很奇怪,我正在絞盡腦汁。但是謝謝你的回覆。 – Chud37 2013-04-22 15:19:13