freenetis-github/application/helpers/dns.php @ 73dfab3e
8baed187 | Michal Kliment | <?php defined('SYSPATH') or die('No direct script access.');
|
|
/**
|
|||
* Dns helper class.
|
|||
*
|
|||
* $Id: dns.php
|
|||
*
|
|||
* @package Core
|
|||
* @author Kliment Michal
|
|||
* @copyright (c) 2009 Kliment Michal
|
|||
*/
|
|||
class dns {
|
|||
/**
|
|||
* Create reverse dns lookup from ip address
|
|||
*
|
|||
* @author Michal Kliment
|
|||
* @param string ip address
|
|||
* @return string
|
|||
*/
|
|||
public static function create_reverse_dns_lookup_from_ip_address($ip_address)
|
|||
{
|
|||
if ($ip_address == '') return '';
|
|||
$segments = explode('.', $ip_address);
|
|||
$segments = array_reverse($segments);
|
|||
return implode('.', $segments).'.IN-ADDR.ARPA.';
|
|||
}
|
|||
/**
|
|||
* Get ptr (reverse) record from ip address
|
|||
*
|
|||
* @author Michal Kliment
|
|||
* @param string ip address
|
|||
* @return string
|
|||
*/
|
|||
public static function get_ptr_record($ip_address)
|
|||
{
|
|||
if (!valid::ip($ip_address)) return '';
|
|||
$result = @dns_get_record(dns::create_reverse_dns_lookup_from_ip_address($ip_address), DNS_PTR);
|
|||
if (!$result || count($result)!=1) return '';
|
|||
return $result[0]['target'];
|
|||
}
|
|||
} // End dns
|