Чи може PHP cURL використовувати IP-адресу відвідувача?
Пояснює, яка машина відкриває з'єднання cURL на боці сервера і що proxy мав би змінити на цьому шляху.
Відвідувач натискає кнопку. Ваш PHP-сервер викликає зовнішній API. API бачить вихідне з'єднання сервера або вихід proxy, налаштованого для цього з'єднання. Браузер відвідувача обробляє окреме з'єднання з вашим сайтом.
Копіювання адреси відвідувача в заголовок не може перенести PHP-з'єднання в мережу відвідувача. Заголовки — це дані, надіслані вже встановленим з'єднанням. Призначення може використовувати довірений заголовок пересилання у власній логіці застосунку, але це не робить значення заголовка вихідною адресою з'єднання.
Proxy має прийняти з'єднання
Щоб надіслати PHP cURL через іншу машину, ця машина повинна надавати доступну службу proxy з дозволом передавати запит. Процес PHP має могти підключитися до неї. Звичайний сеанс браузера відвідувача не дає вашому серверу такої загальної точки proxy.
Параметр proxy libcurl вибирає службу, до якої підключається cURL. Він не може попросити довільний браузер ініціювати запит від свого імені.
Запит із браузера — це інший дизайн
Для деяких API браузер може звертатися до призначення безпосередньо. Це розміщує запит на мережевому шляху користувача, залежно від його власного налаштування proxy. Це також вимагає API, розробленого для браузерних клієнтів. Доступ між джерелами підкоряється CORS, а облікові дані, надіслані в код браузера, стають доступними цьому клієнту.
Вирішіть, де має бути запит, перш ніж вибирати параметр proxy. Тримайте облікові дані сервера на сервері; використовуйте задокументовану інтеграцію з браузером, коли служба її підтримує. Жоден дизайн не пропонує надійного скорочення, щоб серверний запит успадкував мережеву ідентичність відвідувача.