Non-server side method of getting local IP address in browser

ip addresslocalhost

I am trying to provide a way for users on my LAN to "register" with the Network admin (me) without having to either a) host a page on my computer b) host a script on the central server (since it is only a router, not really a solid HTTP server) or c) sign up for a Dynamic Domain in order to either either of the first two and avoid the confusion of sending out a URL to a link to a local IP.

Is there a simple way to display the local IP address on screen via a client-side script? I'm thinking maybe I could have an iframe that points to some generic url with some javascript in the path, so that I can have the users go to a non-local site, and the iframe would pop up with their IP address that they can then enter into a form in the main remote page.

If all else fails, is there a way for them to look up their IP that is cross-platform and doesn't involve using the command line (I think the first, even if impossible, is probably more realistic than the second).

Best Answer

Is there a simple way to display the local IP address on screen via a client-side script?

No, at least I don't know of any cross-platform way to do this in Javascript. It's unlikely there is any, since this would be a considerable security hole (any site you visit could retrieve your networking configuration, which might be considered private information and could help in attacks). It's possible using IE and ActiveX, but I wouldn't recommend it (not cross-platform, don't know if it even works in recent IEs).

You could do it from a Java applet (if it is signed), as you have full system access (might also be possible from Flash).

That said:

Maybe you can explain why you believe you need this. Why do users have to "register" to you? Why do you even need their IP address?

Why don't you just give out IP addresses via DHCP?

If you explain your problem / goal in more detail, maybe there's a better way.

Related Topic