Gethostbyaddr показывает IP-адрес моего сервера?

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

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

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

0

Решение

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

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

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

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]