Hi Alicia. Welcome to the list. On Friday 11 June 2004 12:58 pm, Alicia Riggs wrote: > Hi guys, I am new to this list, and signed up > specifically for this problem. If any one has any > ideas it would be greatly appreciated. > > I am writing a function to allow users from a > specific intranet permission to view a directory. I > am getting very different results from IE and > Netscape. I have written this in JavaScript as well > as PHP, and I am getting the same error in both > languages.
Are you talking about regular old (browser-based) Javascript? Javascript and (server-based) PHP are like apples and oranges. You can't really get the same error from each because they are doing completely different things in completely different places. > When I use the gethostbyaddr call, in IE I get a > domain name the majority of the time, with a few > exceptions. When I use the gethostbyaddr call in > Netscape I only receive a domain name if there is a > DNS entry. If there is no DNS entry, Netscape > returns an IP address. PHP functions are executed by the server. The browser (Netscape and IE) have nothing to do with them. gethostbyaddr is a simple reverse-DNS lookup (of the REMOTE_ADDR ip address) requested by your server to its nameserver. This never goes near the user's IE or Netscape browser. The IP address used is the one your webserver is using in its HTTP (TCP) connection with the browser (or its agent -- a firewall or proxy, for example). If there is no DNS entry for the ip address, there should be no hostname returned because by definition there is no host name to be returned. > I am not sure what IE is using to get the domain > names when there is no DNS entry. > > How do I get the correct info to be returned from > Netscape? > > > Here is the code I am using > *********************************** > > <?php > //echo "<pre>"; > //print_r($_SERVER); > //echo "</pre>"; > $hn = gethostbyaddr($_SERVER['REMOTE_ADDR']); > echo "host by addr = " . $hn . "\n<br>"; > $darr = explode(".", $hn); > $cnt = count($darr); > $host = $darr[$cnt - 2] . "." . $darr[$cnt - 1]; > echo "host = " . $host . "\n<br>"; > /* > if($host == "xyz.com") > header("Location: xyz.html"); > else > if($host == "abc.com") > header("Location: abc.html"); > else > header("Location: error.html"); > */ > ?> For debugging purposes, I would add more verbose echos: particularly for IP address and full host name returned ($hn). How are you deducing that you are getting different results based on the user's browser? Are there firewalls or web proxies involved? This could account for getting conflicting IP addresses for the same user reported by the browser (via Javascript) and server. > Thanks in advance for any ideas! > > Alicia Riggs > PSG - Web Development Engineer > 214-550-7452 Hope this helps. Regards, John --------------------------------------- John Hicks Gulfbridge, Inc. "Putting the Web to work for your business." http://gulfbridge.com 561-586-8116 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php