【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)
戻り値なし
戻り値はありません