in reply to Re^2: How can I determine whether a URI, hostname or IP address is to the local host machine?
in thread How can I determine whether a URI, hostname or IP address is to the local host machine?

A machine can identify its own IP addresses. However, the mapping of DNS names both to and from IP addresses can actually be pretty complicated to get completely right. Multiple adapters per machine, virtual machines, Apache virtual hosts, load balancers, transparent proxies, multiple addresses per DNS entry, multiple DNS entries per address, ...

The header only needs to be "unique" to your script so that it can identify its own requests, e.g. X-dbooth-Loop-Prevention: foo. Or you could set a custom User-Agent like tobyink suggested, except that you could check for the presence of this header in your script instead of letting the webserver do it. The only case where this scheme could go wrong is if there is a transparent proxy in the path which modifies or removes headers.

  • Comment on Re^3: How can I determine whether a URI, hostname or IP address is to the local host machine?
  • Select or Download Code

Replies are listed 'Best First'.
Re^4: How can I determine whether a URI, hostname or IP address is to the local host machine?
by dbooth (Novice) on Apr 30, 2014 at 01:46 UTC

    The custom header idea suggested by Anonymous_Monk (and elaborated slightly differently by tobyink using the User-Agent header) is a pretty good idea, but it does have the downside of requiring an extra HTTP request. And it seems kludgey to do an HTTP request to figure out something that I should be able to determine from my OS. Still, I might try this approach if I cannot find a reasonable way to get the information from the OS.