Gethostbyaddr показывает IP-адрес моего сервера? - PullRequest
0 голосов
/ 27 сентября 2018

Я использую CloudFlare, поэтому IP-адрес моего сервера скрыт, и я хочу сохранить его таким.Когда я делаю HTTP-запрос, очевидно, мой IP будет раскрыт.Но показывает ли gethostbyaddr мой IP-адрес?Я хочу получить IP-адрес пользователя, поэтому я делаю:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

Сможет ли пользователь узнать по этому адресу IP-адрес моего сервера?

1 Ответ

0 голосов
/ 27 сентября 2018

gethostbyaddr выполняет обратный поиск DNS .Он не связывается с хостом напрямую.Однако он может связываться с DNS-серверами для выполнения обратного поиска.

Обычно PHP запрашивает системный DNS-сервис для обратного поиска, и если ответ не даетВ случае кеширования служба свяжется с ближайшим DNS-сервером, чтобы получить ответ.Если тот не имеет ответа, он выйдет и свяжется с своим ближайшим вышестоящим сервером и т. Д. И т. Д., Пока ответ не вернется.

Так, редкоесли когда-либо сервер должен выйти дальше, чем его ближайший DNS-сервер.Это, конечно, не невозможно, и , если ваш сервер связывается с DNS-сервером, над которым ваш пользователь может контролировать, этот пользователь мог видеть входящий запрос разрешения DNS.

Это будетКрайне редко, и опять же, как правило, единственный DNS-сервер, с которым ваш сервер будет контактировать, это его ближайший DNS-сервер, но его нельзя полностью исключить.

...