LoginSignup
1
2

More than 1 year has passed since last update.

【PHP】$_SERVER['HTTP_REFERER']リファラを使用してアクセス元によって処理を振り分ける

Posted at

$_SERVER['HTTP_REFERER']とは

$_SERVERとはPHPのスーパーグローバル変数でサーバ情報および実行時の環境情報が入っています。

HTTP_REFERERは$_SERVERで取得できるインデックスのひとつで現在のページに遷移する前にユーザーエージェントが参照していたページのアドレスを取得することができます。

以下のコードでHTTP_REFERERを取得します。

$_SERVER['HTTP_REFERER']

ただし、リファラは確実に取得できるものではないので注意が必要です。

アクセス元によって処理を分ける

$_SERVER['HTTP_REFERER'] を使ってチェックしたいURLによって処理を振り分けます。

// リファラーの取得(セットされていない場合はnull)
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'null';

if (preg_match("/チェックしたい文字列/", $referer)) {
    // 一致した時の処理

}
else {
    // それ以外の時

}

参考

PHP: $_SERVER - Manual

https://www.php.net/manual/ja/reserved.variables.server.php

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2