A Cloudflare funciona como um proxy para o site, então ao utilizar funções nativas do PHP, você obtém o IP da Cloudflare e não do usuário, para resolver isso é só utilizar o código:
<?php
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}