今回はEC-CUBE3でどのようにリファラーを取得するかというお話がメインです。
各ページのコントローラでは、リファラーを簡単に取得することができます。
コントローラーのアクションメソッドに次のような形で$request変数が渡されてきます。
public function index(Application $app, Request $request) { ...... }
この$requestはHTTPリクエストに関する多くの情報を含んでいます。
もちろんヘッダー情報も含むので下記のようにしてリファラを取り出してやります。
$referer = $request->headers->get('referer'); if($referer != 'hoge'){ return $app->redirect($app->url('homepage'));//トップページへリダイレクト }
これでリファラーの値を使用してアクセス禁止にしたりリダイレクトで飛ばすことができますね。
リファラーは確実な物ではありませんが、簡易的なアクセス制御としては有用です。
EC-CUBE3系をご利用の方はぜひお試しください。(あまり機会はないと思いますが・・・)
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。