【初心者講座】PHPで配列に含まれるかをチェックする方法
作成日:2025-01-09 23:18:37
最新更新日:2025-01-09 23:21:47
結論
in_array("検索したい値", $配列);
説明
in_array関数を使うことで、配列に値が含まれるかをチェックできます、
例えば、「接続してきたIPアドレスをチェックしてホワイトリストに含まれているか」
等に使えます
<?php
$ACK_IP_LIST = [
"192.168.100.120"
];
if (in_array($_SERVER["REMOTE_ADDR"], $ACK_IP_LIST)) {
//通ってよし
} else {
//駄目!
http_response_code(403);
echo "あなたは許可されていません";
}
?>
リーバスプロキシを経由しているならこうですね。
<?php
$ACK_IP_LIST = [
"192.168.100.120"
];
preg_match("/for=\"?([a-zA-Z0-9\.\:\[\]]+)\"?/", $_SERVER["HTTP_FORWARDED"], $IP);
if (in_array($IP[1], $ACK_IP_LIST)) {
//通ってよし
} else {
//駄目!
http_response_code(403);
echo "あなたは許可されていません";
}
?>