Как узнать IP-адрес пользователя из-под CloudFlare

Скачать Как узнать IP-адрес пользователя из-под CloudFlare
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.466
Реакции
9.453
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Итак настраиваем nginx:

CloudFlare передаёт настоящий IP-адрес клиента в отдельном HTTP-заголовке CF_CONNECTING_IP.

Для начала создайте в каталоге /etc/nginx/ (по умолчанию) файл cloudflare (нужно установить владельца и группу root) и пропишите в него следующие строки:
Код:
set_real_ip_from 204.93.240.0/24;
set_real_ip_from 204.93.177.0/24;
set_real_ip_from 199.27.128.0/21;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
real_ip_header CF-Connecting-IP;

Свежие пулы IP-адресов CloudFlare можно найти на официальном сайте: IPv4 и IPv6.

Теперь откройте главный конфиг nginx — файл nginx.conf и в секции http {} укажите:

Код:
include cloudflare;

сё, настройка завершена. Для вступления изменений в силу перезапустите веб-сервер nginx.

Теперь в случае если IP-адрес клиента совпадает с IP адресами CloudFlare, nginx будет брать настоящий IP из заголовка CF_CONNECTING_IP.

И ещё у кого хостер, вставьте в index.php следующий код:

Код:
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; }
 
почему нельзя просто написать в части относящейся к серверу:
Код:
real_ip_header CF-Connecting-IP;
если сайт ВСЕГДА за файрволом?
 
Назад
Сверху Снизу