Re: Reverse DNS testing

From: Date: Thu, 12 Jul 2012 20:29:17 +0000
Subject: Re: Reverse DNS testing
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-318449@lists.php.net to get a copy of this message
On 7/12/2012 3:09 PM, Jim Lucas wrote:
On 07/12/2012 11:17 AM, Al wrote:
I want to do a rDNS check on a admin entered host name to insure in-coming mail servers don't reject mail, sent by my app, because the rDNS doesn't exist or doesn't match. Here is the fundamental code: $host = $_SERVER['SERVER_NAME']; //site name shared or not $ip = gethostbyname($host);
$hostName = gethostbyaddr($ip); //May be different on a shared host $ip2 = gethostbyname($hostName);
Throw in a filter_var() check with the FILTER_VALIDATE_IP flag? if ( filter_var($hostName, FILTER_VALIDATE_IP) === TRUE ) {
     # This is an IP
     # do something
} Or do a conditional check if ( $hostName === $ip2 ) {
     # no change...
     # handle no resolution issue.
}
The $ip works fine. However, one of the shared hosts I'm working with returns this instead of the original $host gethostbyaddr($ip)=> 93.247.128.148-static.foo.com [foo is subs for actual] gethostbyname($hostName)=> 93.247.128.148-static.foo.com It appears gethostbyname() is just returning $hostName because it is not legit. Using just the foo.com in gethostbyname() returns the host's server IP. Thus, the typical rDNS check fails for this site. Several online checks also report rDNS fails. Any suggestions how I can handle this?
I have some additional tests already. Left them out of this dialog to just focus on the essential problem. I check the syntax and stuff before it gets to this code

« previous php.general (#318449) next »