他システムを置くサーバの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。
他の環境からのアクセスは受け付けなくなった。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image