アフィリエイト広告を利用しています

2020年09月21日

APIの呼び出し元を制限する

運用中のシステムからデータを抽出して他システムに提供するためにAPIを作成した。

他システムを置くサーバのIPアドレスを教えてもらい、

APIの実行元を限定しようと以下のコードを書いた。


 if ($_SERVER['REMOTE_HOST'] != 'XXX.XXX.XXX.XXX'') {
  echo "不正アクセス";
  break;
 }


特定のIPアドレス以外からのアクセスは「不正アクセス」と表示されるはず。

ところが、許可したいアクセスも不正アクセスとなってしまった。

$_SERVER['REMOTE_HOST']変数


この変数はすべてのサーバについて無条件で使用できるわけではなかった。

サーバの設定によって、IPアドレスを取得できないそうだ。

結局、.htaccessで制限を行った。

.htaccess


サーバのIPアドレスとドメイン名の両方を記述した。


 Order deny,allow
 Deny from all

 Allow from 'XXX.XXX.XXX.XXX'
 Allow from domain.jp


共に有効なのか、どちらかだけが有効なのかは確かめていないが結果はOK。

他の環境からのアクセスは受け付けなくなった。









posted by db-engineer at 00:00 | Comment(0) | PHP

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド