Достаточно использовать сравнение строк
if (strncmp('127.0.0.', $_SERVER['REMOTE_ADDR'], 8) === 0)
header("Location: http://google.com");
else
echo "Hai";
Обновление: взято из коментариев начального ответа
Предположим, я хочу заблокировать любой IP-адрес из этого диапазона: 192.168.0.1-255. Каково было бы лучшее решение для этого? Спасибо.
Тогда просто сделайте такое же сравнение строк с этим блоком
if (strncmp('192.168.0.', $_SERVER['REMOTE_ADDR'], 10) === 0)
header("Location: http://google.com");
else
echo "Hai";
Если вы хотите проверить удаленный адрес для обоих блоков одновременно, вы, вероятно, объедините их в одно выражение. На этот раз нам нужен другой подход
if (in_array(substr($_SERVER['REMOTE_ADDR'], 0, strrpos($_SERVER['REMOTE_ADDR'], '.')), array('127.0.0', '192.168.0'))) {
header("Location: http://google.com");
else
echo "Hai";
substr()
-часть принимает IP до последнего .
. Мы можем просто попытаться найти эту строку в наборе (-> массива) IP-префиксов.