wp_get_raw_referer()


WordPressのwp_get_raw_referer()関数は、現在のページリクエストに関連付けられた生のリファラーURLを取得するために使用されます。この関数は、主にリダイレクトやユーザーの前回訪問したページの取得に役立ちます。

シンタックス

wp_get_raw_referer();

使用例:

例 1: リファラーURLを表示

このコードは、現在のリファラーURLを画面に出力します。

<?php
echo wp_get_raw_referer();
?>

例 2: リファラーを基にリダイレクト

リファラーURLが特定の条件を満たしている場合にリダイレクトします。

<?php
$referer = wp_get_raw_referer();
if ( $referer && strpos( $referer, 'example.com' ) !== false ) {
    wp_redirect( $referer );
    exit;
}
?>

例 3: セッションログの記録

リファラーURLを記録してログを作成します。

<?php
$referer = wp_get_raw_referer();
if ( $referer ) {
    error_log( 'Referer: ' . $referer );
}
?>

例 4: リファラーURLのチェック

リファラーURLが存在しない場合のエラーメッセージを表示します。

<?php
$referer = wp_get_raw_referer();
if ( ! $referer ) {
    echo 'リファラー情報が見つかりません。';
} else {
    echo 'リファラーURL: ' . $referer;
}
?>

例 5: リファラーを隠したい場合のヘッダー設定

リファラーURLを基に特定のHTTPヘッダーを設定します。

<?php
$referer = wp_get_raw_referer();
if ( $referer ) {
    header( 'X-Referer-Source: ' . parse_url( $referer, PHP_URL_HOST ) );
}
?>

注意事項:

  • wp_get_raw_referer()は、信頼できない外部URLがリファラーとして渡される可能性があるため、適切なサニタイズを行う必要があります。
  • リファラーが存在しない場合、nullを返します。
  • 特定のブラウザやプライバシー設定により、リファラー情報が送信されない場合があります。

関連機能: