PHP has in built facility to detect remote browser or IP address and other properties. These values are assigned to special variable. In this case, it is assigned to variable called REMOTE_ADDR. You can use any one of the following statement to obtained or read IP address:
$ip = $_SERVER['REMOTE_ADDR'];
OR
$ip= $REMOTE_ADDR;
Here is sample code:
<?
$ip= $REMOTE_ADDR;
echo "<br> Your IP address : " . $ip;
echo "<br> Your hostname : " . GetHostByName($ip);
?>
See PHP getenv for more information.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop











{ 22 comments… read them below or add one }
hi,
I am trying to figure out the “spam” word enabled form submission like this one …anyone here can help me ..
Thanks
You can get the host name from IP.gethostbyname
Try the gethostbyaddr for this task.
How to get the remote IP location?
<?php
$ip = $_SERVER['REMOTE_ADDR'];
And if you want to echo it use
that is what i use
hey! this is a child’s play! such an easy thing! i said that coz i am 15 and a hard core PHP developer!!
I don’t understand something. 5 of my friends using different HOSTS in different CITIES used a script that logged each user’s IP address and time in a database and all their IP was exactly the same as mine. I used $_SERVER['REMOTE_ADDR']
Hey ben, all of your IP’s are the same since all of you are using the same ISP or the same main ISP:
user1->ISP1->main_isp->internet
you->ISP3->main_isp->internet
So the website actually detects your main_isp IP address since none of you have a dedicated IP address on the internet.
They are all behind the same proxy-server. In that case $_SERVER['REMOTE_ADDR'] provides you with the ip-address of the proxy-server.
This function will determine the real ip-adress:
function ipCheck() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('HTTP_X_FORWARDED'); } elseif (getenv('HTTP_FORWARDED_FOR')) { $ip = getenv('HTTP_FORWARDED_FOR'); } elseif (getenv('HTTP_FORWARDED')) { $ip = getenv('HTTP_FORWARDED'); } else { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; }it do not work if client computer is using ISA Server.
but code is working fine if client is connected with DSL , or modem direct internet connection.
can any one provide how do I resolved issue on intranet application/ Client is using ISA
how can i get the ip address of the client requesting a particular url?
if possible give me a php code for the same..
Yay;
Thanks it’s working fine !
supose am chatting with my friend using gtalk how would i get his ip address. [what command do i got to use in DOS]. what i got his ip what command [DOS} do i use to get his host name.
One more thing to what command to view that a specified computer is online or not.
Seems not to work for ‘localhost’ but works well with other IPs in the system
Why do you have 2 x same conditions in this script ?
elseif (getenv(‘HTTP_X_FORWARDED_FOR’)) {
$ip = getenv(‘HTTP_X_FORWARDED_FOR’); x 2
}
and
elseif (getenv(‘HTTP_FORWARDED’)) {
$ip = getenv(‘HTTP_FORWARDED’); x 2
}
they arent 2 same conditions in the script marco, if you check back you will notice all the conditions have a slight difference
Can any post a simple ip detection script or code. i need it please.
thanks and thanks
Simple working excellent
<?php $ip = $_SERVER['REMOTE_ADDR']; $hostaddress = gethostbyaddr($ip); $browser = $_SERVER['HTTP_USER_AGENT']; $referred = $_SERVER['HTTP_REFERER']; // a quirky spelling mistake that stuck in php print "Display IP address:"; print "$ip"; print "More detailed host address:"; print "$hostaddress"; print "Display browser info:"; print "$browser"; print "Where you came from (if you clicked on a link to get here:"; if ($referred == "") { print "Page was directly requested"; } else { print "$referred"; } ?>how to get ip with computer name in php
thanks for the code. Looking for php code to get computer name of a visitor.
thanks vivek
how to send messages or popups to remote ip address