PHPで特定のサイトからのリクエストのみ受け付けて処理する方法
2024/04/16
指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他のサイトからリクエストが来たり、URLを直に叩いた場合は処理はしたくない。調べてみるとリファラ取得するのが簡単そう。以下に対応方法をメモ。
対応方法
<?php
if( strpos($_SERVER['HTTP_REFERER'], 'hogehoge.com') === false ){
//処理しない。
} else {
//処理する。
}
上記ソースコードだとhogehoge.comから来た場合のみ処理するという形になる。
ただリファラの偽装とかも出来るみたいなので信頼性は高くない点に留意すること。
関連記事
-
-
PHPのHTTPリクエストライブラリ「Requests for PHP」の利用方法
PHPで外部のAPI等にリクエストする際に可能であればfile_get_cont ...
-
-
PhpSpreadsheetでセル内の文字列の改行、セル幅の自動調整を行う方法
以前PHPとPhpSpreadsheetを用いてExcelシートを出力する方法を ...
-
-
CodeIgniter3でファイルキャッシュする方法
CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...
-
-
TCPDF「Could not include font definition」エラーの対処方法
TCPDFでフォントを「arialunicid0」に指定したところ「TCPDF ...
-
-
wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法
WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...