[ciapug] php SuperGlobals issue

vanish at dreamscapevisionery.com vanish at dreamscapevisionery.com
Tue Mar 7 10:58:35 CST 2006


The following worked, and is secure enough for our environment:

      // Getting headers sent by the client.
      $headers = apache_request_headers();

      // Checking if the client is validating his cache and if it is current.
      $sec_ip = $headers['PC-Remote-Addr'];

Chris VC

Quoting vanish at dreamscapevisionery.com:

> Ready for things to get stranger?
>
> SO this server has two NICs with two IPs, one assigned to each NIC. 
> In the vhost
> setup, the first IP is assigned to the production site. The second IP has two
> vhosts. I'm working on a site on one of these vhosts. In the 
> phpinfo() output,
> it shows the REMOTE_ADDR as the 2nd NIC (where the site is pushed 
> through) yet
> the SERVER_ADDR is the 1st NIC, which shouldn't even be an issue as I'm not
> going to the site pushed on that IP.
>
> The good news though is it also shows a PC-Remote-Addr which does, 
> indeed, show
> my IP instead of the servers. I hope I can get to that through getenv()
>
> Chris VC
>
> Quoting Tony Bibbs <tony at tonybibbs.com>:
>
>> I haven't researched as to why this is but I've noticed that the 
>> available supergloabls be different on different setups.  I've 
>> particularly noticed this when developing code that needs to run on 
>> both *nix and Winders.  I've even seen difference between two 
>> different Winders boxes.  I'm sure this is explained on php.net 
>> somewhere but my experience is that if you depend on a superglobal 
>> being set you need to rely on the phpinfo() output.
>>
>> --Tony
>>
>> vanish at dreamscapevisionery.com wrote:
>>> phpinfo() shows the server ip address under REMOTE_ADDR. I am hosting the
>>> server, and this code had worked previously, however during 
>>> construction the
>>> HDDs were popped out while live and the server had to be rebuilt. 
>>> It has not
>>> worked since.
>>>
>>> Is there some system level or apache level setting I'm missing that 
>>> allows this
>>> to function properly?
>>>
>>> Chris VC
>>>
>>> Quoting "Ron Mutchler, ZCE" <qsecofr at gmail.com>:
>>>
>>>> I've used REMOTE_ADDR in my scripts before without seeing what you are
>>>> explaining.
>>>>
>>>>     function get_ipaddy() {
>>>>         $ipaddy = getenv ("REMOTE_ADDR");
>>>>         return $ipaddy;
>>>>     }
>>>>
>>>> Have you tried looking at phpinfo to see what it says?
>>>>
>>>> If you are hosting with a company, they could have configured it not
>>>> to return that particular variable.  I have a host that refuses to
>>>> return PATH_INFO.  I ended up having to look at ORIG_PATH_INFO in that
>>>> case.
>>>>
>>>>
>>>> On 3/7/06, vanish at dreamscapevisionery.com
>>>> <vanish at dreamscapevisionery.com> wrote:
>>>>> I'm hoping someone out there can figure out how I've screwed this up...
>>>>>
>>>>> In an include file, I have the following code:
>>>>>
>>>>> $sec_ip = $_SERVER['REMOTE_ADDR'];
>>>>>
>>>>> Which should set the variable to the IP address of the visitor's 
>>>>> PC. In my
>>>>> setup, however, it displays the server's IP instead. I tried 
>>>>> replacing that
>>>>> with:
>>>>>
>>>>> $sec_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
>>>>>
>>>>> to see if the problem was a proxy issue, but alas no ip is shown. 
>>>>> (Yes, I tried
>>>>> the getenv method as well and the $ENV method also. All return 
>>>>> the same result)
>>>>>
>>>>> Setting the variable form the original code page has the same 
>>>>> effect so it's not
>>>>> some funky problem caused by being in an include file.
>>>>>
>>>>> Any ideas? Anyone? Bueller? Bueller?
>>>>>
>>>>> Chris VC
>>>>> _______________________________________________
>>>>> ciapug mailing list
>>>>> ciapug at cialug.org
>>>>> http://cialug.org/mailman/listinfo/ciapug
>>>>>
>>>> _______________________________________________
>>>> ciapug mailing list
>>>> ciapug at cialug.org
>>>> http://cialug.org/mailman/listinfo/ciapug
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ciapug mailing list
>>> ciapug at cialug.org
>>> http://cialug.org/mailman/listinfo/ciapug
>> _______________________________________________
>> ciapug mailing list
>> ciapug at cialug.org
>> http://cialug.org/mailman/listinfo/ciapug
>>
>
>
>
> _______________________________________________
> ciapug mailing list
> ciapug at cialug.org
> http://cialug.org/mailman/listinfo/ciapug
>





More information about the ciapug mailing list