あなたが私のクライアントのサイトに来たら、あなたが21歳以上であることを確認する必要があります。ドメインのページにアクセスすると、検証済みの年齢Cookieが設定されているかどうかが確認されます。そうでない場合は、チャレンジページに移動して生年月日を入力します。その後、インデックスページ(または間違った答えをした場合は拒否ページ)に移動します。
私が遭遇した問題は次のとおりです。
ユーザーが検索エンジンでページのいずれかを見つけた場合、年齢テストに合格した後、元々リクエストしていたページに戻すにはどうすればよいですか?
例:
ユーザーはGoogleでwww.example.com/blog.php
を見つけ、リンクをクリックすると、www.example.com/age_verify.php
にリダイレクトされます。テストに合格した後、デフォルトのwww.example.com/blog.php
の代わりにwww.example.com
に返送するにはどうすればよいですか?
私は困惑しています。私はHTTPリファラーを扱っていると確信していますが、どのくらいの能力があるのかわかりません。
リファラーに依存しないでください。 URLはクエリ文字列パラメーターとして、またはセッションパラメーターとして保存できます。
Age_verify.phpでは、変数のリファラーである$ _SERVER ['HTTP_REFERER']、たとえば$ refererを保存する必要があります。
そこから取得する方法は複数ありますが、単純な方法の1つは、Cookieを設定してage_verify.php?ref = $ refererを呼び出すことです(GETフォームで簡単に実行できます)。
Age_verify.phpから出力が行われる前に、Cookieを確認し、Cookieがある場合は$ refererにリダイレクトする必要があります。これはheader( "Location:$ referer")を使用して行われます。