2010-08-02 18 views
1

我是新來整合貝寶與網站,所以也許有從我可以使用的服務現成的方法?我想要做的是,當用戶點擊「返回到我的網站」時,我希望我的返回URL知道推薦人是貝寶,所以我可以自動將他發送到主頁。我如何去做這件事?如何知道PHP中的URL引用?

我試過$_SERVER['HTTP_REFERER']但它似乎沒有捕捉任何東西。在IPN會話期間,我還設置了Cookie和會話(雖然我不確定是否正確或正確),但在返回到我的網站時,似乎無法識別任何會話。

如果我使用$_SERVER['HTTP_REFERER']與此脫節,恐怕這是一個安全風險,對吧?如果是這樣,是否還有其他方法我失蹤?請幫忙。

+0

PayPal不會在返回時設置一些查詢字符串變量嗎?似乎記得從_回來。 – Wrikken 2010-08-02 17:47:27

+0

你是否迴應了$ _SERVER ['HTTP_REFERER']來查看它給你的東西?也許它顯示paypal.com很好,但你的狀況很糟糕,就像不匹配或事端。此外,這不一定是安全風險......是啊,人們可以欺騙這一點,但如果你正在做的所有事情是確定是否將它們發送到一個普通的感謝頁面,並不一定有任何傷害。 – 2010-08-02 17:49:59

+0

嗯,我通過sendmail()。它不發送任何東西。我把它放在login.php中,這顯然是我的返回URL。但是,當我故意使用未註冊的帳戶登錄時,它會發送my.domain.com/login.php。也許$ _SERVER ['HTTP_REFERER']是不是正確的? – adred 2010-08-02 18:00:51

回答

1

你真的需要知道引用者嗎?將PayPal返回網址設置爲始終重定向到首頁的「祕密」網址。如果有人在那裏結束並且沒有來自PayPal而被重定向,那又如何?這不應該是一個問題。

此外,我還沒有使用貝寶,但我想像任何IPN通知將直接從貝寶的服務器,而不是用戶請求,所以設置任何cookie或會話不會對你有太大的好處。

+0

主頁是一個禁區。只有註冊用戶才能進入。這種情況發生在用戶付費訂閱之後,所以任何服務器通信都不存在。 – adred 2010-08-02 18:07:12

0

您可以使用任何自定義值添加一個新的隱藏字段,該字段將會發回給您。 你可以使用該字段進行任何你想要的。您應該爲該字段命名custom

貝寶將返回該字段,一旦你看到你應該確定它來自貝寶。

+0

耶,我設置類似於驗證用戶試圖訂閱的存在。但是,我的處理程序和IPN之間的通信發生在單擊「返回」之前的背景中。那麼,之後沒有任何事情發生,因爲點擊按鈕事件不涉及IPN權利? – adred 2010-08-02 18:12:04

相關問題