ページ遷移時に必ず通る共通クラス処理の中に、リファラの空チェックで直リンク判定を行い、エラーにする処理が現在含まれております。
PHP
1// 直リンク処理 2if(empty($_SERVER['HTTP_REFERER'])){ 3 header("Location: " . SITE_URL . '/error/error.html'); 4} 5※SITE_URLはドメインです。
これを踏まえてになるのですが、ページのロード時のPHP処理で、リダイレクトすると、上記の判定でエラーとなってしまいました。
この、直リンク対処処理を回避して、エラーを出さずに次ページへ遷移する方法はないでしょうか?
経緯
以前は以下の流れで画面遷移していました。
①申込依頼 → メール送信 → メールにあるURLクリック ②認証画面 →メールに付いているIDを記入 →認証ボタン押下 →認証チェック ③申込画面
この②で行う、ID入力と認証ボタン押下を省略したいという要望が出ました。
そこで、ページは残し、②のURLにこれまで入力してもらっていたIDを付与して、②画面のロードで自動チェックの自動遷移で③に移行する方針となりました。
この、自動認証・自動遷移を組み込んではみましたが、③のロード処理に入る前に、直リンク対処処理が走るのですが、そこでエラーとなってしまった次第です。
②のGETでheaderをすることで、②ページのリファラがセットされず、リファラが空判定されていることで、直リンク判定のエラーが出ているものと思っております。
リファラを設定?したり、POSTでリダイレクトすればいけるのか?などを現在模索中なのですが、方法があればお教えいただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/20 08:21