PHPで特定のサイトからのリクエストのみ受け付けて処理する方法
2024/04/16
指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他のサイトからリクエストが来たり、URLを直に叩いた場合は処理はしたくない。調べてみるとリファラ取得するのが簡単そう。以下に対応方法をメモ。
対応方法
<?php
if( strpos($_SERVER['HTTP_REFERER'], 'hogehoge.com') === false ){
//処理しない。
} else {
//処理する。
}
上記ソースコードだとhogehoge.comから来た場合のみ処理するという形になる。
ただリファラの偽装とかも出来るみたいなので信頼性は高くない点に留意すること。
関連記事
-
-
PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法
あるシステムからPHPで外部のAPIにリクエストしたかった。ただ、複数回リクエス ...
-
-
MySQLで使用するインデックスを指定する
ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...
-
-
JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...
-
-
PHPにて特定の処理にかかった時間とメモリ使用量を測定する方法
PHPにて特定の処理にかかった時間とメモリ使用量を測定したい。以下にソースコード ...
-
-
Class 'DOMDocument' not foundエラーの対処方法
PHPでphpQueryというライブラリを利用しようとすると「Fatal err ...