Задать вопрос
@MarkLb

Получить и обезопасить от подмены настоящий IP пользователя от Cloudflare в Yii2?

Cloudflare использует Reverse Proxy, из-за чего нельзя получить реальный IP пользователя через $request->userIP, что нарушает работу сайта, в частности обработки запросов от платежных систем.

Реальный IP хранится в заголовке "CF-Connecting-IP". В Yii2 есть функция для изменения механизма получения IP: Trusted proxies and headers. Но нас настоятельно просят заполнять trustedHosts, но заранее неизвестно откуда Cloudflare будет слать данные.

Если прописать конфигурацию, где только перечислить откуда брать заголовки для IP - всё работает "как надо":
'request' => [
    // ...
    'ipHeaders' => [
        'CF-Connecting-IP',
        'X-Forwarded-For',
    ],
]


Но не подвергается ли сайт опасности из-за подмены заголовка?
Я попробовал подменить "CF-Connecting-IP" на свой, на что сам Cloudflare отдал ошибку: "DNS points to prohibited IP". Достаточно ли защиты от самого Cloudflare или что-то ещё нужно предпринять?
  • Вопрос задан
  • 660 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 1
Такая вещь есть, как real ip
https://support.cloudflare.com/hc/en-us/articles/2...
И ip будет правильно обрабатываться, в том числе и в логах будет виден реальный ip пользователя
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
заранее неизвестно


в смысле?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы