2013-10-13 60 views
-1

我有一個用於貝寶的ipn文件,每當進行交易時,貝寶給我發送一個通知,一旦進行了交易,貝寶向我發送通知給我的php文件,我開始處理該交易。PayPal IPN Notificaiton POST可以僞造嗎?

用戶付費 - >貝寶發送notificaiton與transcation的POST值到我的PHP文件 - >交易被proccesed

我的問題是,可以在此POST值從其他地方insted的實時支付寶發送的?就像有人會發送假的郵政價值到我的IPN PHP文件,我的腳本會認爲是貝寶,並將開始處理假交易。

回答

1

理論上,Paypal IPN消息可能是僞造的,但通知過程包括一個驗證步驟,允許您驗證IPN消息。

這是過程,從Paypal developer page採取:

的IPN消息認證協議包括四個步驟:

  1. 貝寶的HTTP POST的監聽器,通知您事件的IPN消息。
  2. 您的監聽器向PayPal返回空的HTTP 200響應。
  3. 您的聽衆HTTP將完整的,未更改的消息發送回PayPal;該消息必須包含與原始消息相同的字段(以相同的順序),並以與原始消息相同的方式進行編碼。
  4. PayPal發回一個單詞 - 要麼VERIFIED(如果消息匹配原始)或INVALID(如果消息不匹配原始)。
+0

沒錯。第3步和第4步確保您正在驗證的IPN消息是源自PayPal的真正的IPN消息。當然,您需要對像receiver_email這樣的東西運行自己的檢查,以便它與您的帳戶相匹配。 – Robert