2013-08-13 2 views
-1

получил вопрос, и я не уверен в этом, поэтому я подумал, что попрошу.Автоматическая подача заявки на внешний скрипт

Одна из страниц моего сервера содержит обычную HTML-форму, которая предназначена для обращения к внешнему скрипту для отправки его формы.

Если я открою страницу, введите информацию в полях вручную и нажмите «Процесс», внешний скрипт, естественно, запишет мой собственный IP-адрес в качестве посетителя.

Какой IP-адрес будет записан, если я автоматизирую отправку формы с использованием метода на стороне сервера, например cURL? Записывает ли он IP-адрес сервера, поскольку сервер отправляет автоматический запрос на скрипт или записывает IP-адрес клиента, как обычно?

ответ

0

Если вы полагаетесь на $_SERVER["REMOTE_ADDR"], он будет записывать адрес, который он видит в запросе, что зависит от того, как настроена маршрутизация на вашем сервере. Если вы отправляете запрос на localhost, то он фактически будет записывать localhost (127.0.0.1), а не только внешний IP-адрес сервера.

Если запрос происходит какой-то посетитель серфинг в Интернете, у вас есть несколько вариантов сохранения трека:

  1. Использование стандартного X-Forwarded-For заголовка в вашем суб-запроса и отслеживать его, как вы бы отслеживать любые через прокси-запрос , (Проверьте, прошло ли $_SERVER["HTTP_X_FORWARDED_FOR"], и используйте это как реальный адрес, в противном случае резерв на $_SERVER["REMOTE_ADDR"]).

  2. Передайте исходный IP-адрес как пользовательский параметр и дорожку, а не REMOTE_ADDR, когда запрос поступает из определенного источника (например, с локального хоста).

Смежные вопросы