How does php obtain the actual local IP address? Functionreal_ip (){??? Static $ realipNULL ;??? If ($ realip! NULL )??? {??????? Return $ realip ;???}??? If (isset ($ _ SERVER ))??? {??????? If (isset ($ _ SERVER php obtains the actual local IP address
? Function real_ip ()
{
??? Static $ realip = NULL;
??? If ($ realip! = NULL)
??? {
??????? Return $ realip;
??? }
??? If (isset ($ _ SERVER ))
??? {
??????? If (isset ($ _ SERVER ['http _ X_FORWARDED_FOR '])
??????? {
??????????? $ Arr = explode (',', $ _ SERVER ['http _ X_FORWARDED_FOR ']);
??????????? Foreach ($ arr AS $ ip)
??????????? {
??????????????? $ Ip = trim ($ ip );
??????????????? If ($ ip! = 'Unknown ')
??????????????? {
??????????????????? $ Realip = $ ip;
??????????????????? Break;
??????????????? }
??????????? }
??????? }
??????? Elseif (isset ($ _ SERVER ['http _ CLIENT_IP '])
??????? {
??????????? $ Realip = $ _ SERVER ['http _ CLIENT_IP '];
??????? }
??????? Else
??????? {
??????????? If (isset ($ _ SERVER ['remote _ ADDR '])
??????????? {
??????????????? $ Realip = $ _ SERVER ['remote _ ADDR '];
??????????? }
??????????? Else
??????????? {
??????????????? $ Realip = '0. 0.0.0 ';
??????????? }
??????? }
??? }
??? Else
??? {
??????? If (getenv ('http _ X_FORWARDED_FOR '))
??????? {
??????????? $ Realip = getenv ('http _ X_FORWARDED_FOR ');
??????? }
??????? Elseif (getenv ('http _ CLIENT_IP '))
??????? {
??????????? $ Realip = getenv ('http _ CLIENT_IP ');
??????? }
??????? Else
??????? {
??????????? $ Realip = getenv ('remote _ ADDR ');
??????? }
??? }
??? Preg_match ("/[\ d \.] {7, 15}/", $ realip, $ onlineip );
??? $ Realip =! Empty ($ onlineip [0])? $ Onlineip [0]: '0. 0.0.0 ';
??? Return $ realip;
}