Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】CURLOPT_REFERER定数の使い方

CURLOPT_REFERER定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLOPT_REFERER定数は、PHPのcURL拡張機能において、HTTPリクエストのRefererヘッダーを表す定数です。この定数は、curl_setopt()関数と組み合わせて使用され、ウェブサーバーへ送信するHTTPリクエストに特定のRefererヘッダーの値を設定するために利用されます。

Refererヘッダーとは、ウェブブラウザがリンクをクリックして別のページに移動した際に、アクセス先のサーバーに対して「どのページからアクセスしてきたか」を伝えるHTTPヘッダー情報のことです。例えば、あるウェブサイトから別のウェブサイトへ移動した場合、アクセス先のサーバーはそのRefererヘッダーを通じて、どのページがリンク元であったかを知ることができます。

この機能は、主にウェブサーバー側でのアクセス解析やセキュリティ目的で利用されます。例えば、特定のページからのアクセスのみを許可したり、サイト全体のトラフィックパターンを分析したりする際に役立ちます。PHPでcurlを使って外部のウェブサービスにリクエストを送信する際、あたかも特定のページからアクセスしたかのように見せかけたい場合に、CURLOPT_REFERER定数を使ってRefererヘッダーの値を任意に設定することが可能です。

具体的には、curl_setopt($ch, CURLOPT_REFERER, "https://example.com/previous-page");のように記述し、第二引数にCURLOPT_REFERER定数を指定し、第三引数に参照元となるURLの文字列を設定します。これにより、送信されるHTTPリクエストには指定されたRefererヘッダーが付与され、アクセス先のサーバーはその情報を基に処理を行います。この設定は、プログラムがウェブサイトのクローリングやデータ収集を行う際に、自然なアクセスを模倣するためにも使われることがあります。ただし、プライバシーやセキュリティの観点から、Refererヘッダーの取り扱いには注意が必要です。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_URL, "http://example.com/target");
4curl_setopt($ch, CURLOPT_REFERER, "http://example.com/source");
5$response = curl_exec($ch);
6curl_close($ch);
7?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ