CloudFlare является шлюзом (если такой режим, конечно, включен). Поэтому переменная $_SERVER['REMOTE_ADDR'] показывает адрес сервера CloudFlare, а не адрес реального клиента. Чтобы исправить положение, в заголовок своего кода вставьте следующее
Код:
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}