PHPで特定のサイトからのリクエストのみ受け付けて処理する方法
2024/04/16
指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他のサイトからリクエストが来たり、URLを直に叩いた場合は処理はしたくない。調べてみるとリファラ取得するのが簡単そう。以下に対応方法をメモ。
対応方法
<?php
if( strpos($_SERVER['HTTP_REFERER'], 'hogehoge.com') === false ){
//処理しない。
} else {
//処理する。
}
上記ソースコードだとhogehoge.comから来た場合のみ処理するという形になる。
ただリファラの偽装とかも出来るみたいなので信頼性は高くない点に留意すること。
関連記事
-
-
PHPのarray_map / array_walk関数について
他社が作成されたPHPのソースコードを拝見しているとarray_mapという見慣 ...
-
-
htaccessではなくPHPでベーシック認証をかける方法
htaccessではなくPHPでベーシック認証をかける方法についてソースコードを ...
-
-
phpQueryを利用したjQueryライクなスクレイピング方法
phpQueryというライブラリを使用することでjQueryのセレクタ指定のよう ...
-
-
PHPMailerでエラーメッセージを日本語で出力する方法
PHPMailerのGitHubページを見ていると言語設定についての案内を見つけ ...
-
-
PHPからCSVファイルを出力する際にメモリを節約する方法
MySQLよりデータを大量に取り出してCSVファイル化し、ダウンロードさせるとい ...