2012-08-15 85 views
0

我正在製作一個網站,您必須先付款(通過PayPal),然後才能訪問網站的某些安全部分。我已經設置好了,這樣「註冊」按鈕就可以讓你直接進入Pay​​Pal,然後一旦你完成支付,你就會進入註冊頁面(root/signup/index.php),在這裏你輸入你的姓名,電子郵件,密碼等,這些信息存儲在數據庫中。一旦有人的信息在數據庫中,他們可以登錄到網站的安全部分。如何僅通過某些鏈接訪問網頁

我的問題是,用戶可以通過訪問www.mysite.com/signup/並輸入他們的名稱/ email/pw/etc等來繞過PayPal的付款,這些用戶名仍然會被輸入到數據庫中,並允許他們訪問網站沒有支付。

有什麼方法可以讓www.mysite.com/signup/只能從PayPal訪問一個頁面?我有一個PayPal按鈕,用於在完成付款後將用戶帶到註冊頁面,我希望這是用戶訪問該頁面的唯一方式。

+0

如果我過去支付過,安全部件是否可訪問?或者它是嚴格支付一次,訪問一次處理?如果我明天想要回來,我需要再付錢嗎? – andrewsi 2012-08-15 21:45:54

+0

@andrewsi您需要支付一次,然後每次登錄時都可以訪問安全部分。您可以隨時返回並訪問多次,無需再次付款。我有一個登錄系統,雖然 – Vanessa 2012-08-16 15:11:10

回答

3

通常,當用戶從PayPal返回時,您將它們定向到您網站上的特定頁面,然後您可以評估PayPal發佈給您的數據。您可以簡單地驗證用戶是否成功購買,如果是,請設置會話變量並將用戶引導至您的註冊頁面。只有當他們有一個有效的會話變量表明他們是付費客戶時,你纔會向他們提供註冊表單。

如果用戶在未經適當驗證的情況下到達您的頁面,請將其重定向到其他位置,或者向他們提供一些錯誤消息。

+0

這是技術細節,但它是唯一的答案,實際上有助於關於OP的情況和問題。如果可以,考慮添加有關PayPal返回變量的信息。 – 2012-08-15 21:36:16

+0

@sudowned這將根據他使用的PayPal集成方法而有所不同。我假設他沒有問那部分,那個功能已經起作用了。 – 2012-08-15 21:39:48

1

如果您通過一個標誌作爲$_SESSION變量顯示用戶已付款,然後再屏蔽,則可能是最好的。

如果你確實仍然想檢查引用者,你應該讓你的腳本檢查$_SERVER['HTTP_REFERER']變量並從那裏開始。我不完全確定這是多麼安全。

0

如果您知道PayPal只使用一組IP地址與您的網站聯繫,那麼將Web服務器配置爲僅允許這些服務器訪問相當容易。 IP如何可能被欺騙。如果你真的需要更加安全,你將不得不使用證書。