0

サイトの特定の安全な部分にアクセスする前に (PayPal を通じて) 支払う必要がある Web サイトを作成しています。「サインアップ」ボタンを押すと PayPal に直接アクセスできるように設定しました。支払いが完了すると、サインアップ (root/signup/index.php) ページに移動し、そこで名前、電子メールを入力します。 、パスワードなどであり、この情報はデータベースに保存されます。誰かの情報がデータベースに登録されると、サイトの安全な部分にサインインできます。

私の問題は、ユーザーが www.mysite.com/signup/ にアクセスして自分の名前/email/pw/etc を入力することで PayPal での支払いを回避できることです。これはデータベースに入力され、支払いをせずにサイトへのアクセスを許可します。

www.mysite.com/signup/ ページを PayPal からのみアクセスできるようにする方法はありますか? ユーザーが支払いを完了した後にサインアップ ページに移動するように PayPal ボタンを設定しました。ユーザーがそのページにアクセスできる唯一の方法にしたいと考えています。

4

3 に答える 3

3

通常、ユーザーがPayPalから返送されるときは、サイトの特定のページにユーザーを誘導し、そこでPayPalが投稿したデータを評価できます。ユーザーが購入に成功したことを確認し、成功した場合は、セッション変数を設定して、ユーザーをサインアップページに誘導するだけです。有料の顧客であることを示す有効なセッション変数がある場合にのみ、サインアップフォームを提示します。

ユーザーが適切な検証を行わずにページにアクセスした場合は、ユーザーを別の場所にリダイレクトするか、エラーメッセージを表示します。

于 2012-08-15T21:32:14.013 に答える
1

$_SESSIONユーザーが支払いを行ったことを示すフラグを変数として渡してから、それ以外の場合はブロックするのが最適な場合があります。

それでもリファラーをチェックしたい場合は、スクリプトで$_SERVER['HTTP_REFERER']変数をチェックして、そこから実行する必要があります。しかし、これがどれほど安全かは完全にはわかりません。

于 2012-08-15T21:31:02.250 に答える
0

ペイパルがサイトへの接続にIPアドレスのセットのみを使用することがわかっている場合は、これらからのアクセスのみを許可するようにWebサーバーを構成するのはかなり簡単です。ただし、IPはスプーフィングされる可能性があります。本当に安全性を高める必要がある場合は、証明書を使用する必要があります。

于 2012-08-15T21:32:29.600 に答える