PHP域名验证

时间:2013-03-28 09:37:19

标签: php dns

这是关于域名验证的另一个主题。我读了其他主题的答案。我尝试了几个脚本。我想要使用 API 。除非有免费的API,但我还没找到。

我尝试检查以下代码的DNS:

if($_POST['submit']){

    if(!empty($_POST['check_site'])){
        $url = $_POST['check_site'];

        //add .nl
        if(!strpos($url,'.nl')){
            $url.= '.nl';
        }

        //check dns record
        $result  = dns_get_record($url);

        if(count($result) > 0)
        {
            echo $url. ' is used';
        }else{
            echo $url. ' is free';
        }
    }
}

问题是,当我尝试检查“example.nl”(注册但非活动域)时,它不会返回DNS数据,因此我验证为免费域。

我的问题是:

  1. 有人修复吗?

  2. 有没有人有建议(链接到其他脚本/文章)

  3. 有没有办法检查网站是否有注册商

  4. 我还是学生,但这不是学校项目。

    实时代码:link

    我正在检查答案,提前谢谢

    编辑:

    当我尝试

       shell_exec (whois -h whois.domain-registry.nl 'is example.nl');
    

    我收到意外的T_String错误。使用它的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

如果您的PHP安装有权执行基于UNIX的服务器上常见的whois命令行实用程序,您可以从以下命令获取信息:

whois -h whois.domain-registry.nl 'is example.nl'

此命令取自this SIDN page,在'Is'下。您必须检查一天是否可以从一个IP地址执行此操作超过15次,因为您也无法为更完整的whois执行此操作(没有“是”)。您似乎也被限制为每秒一个请求。

答案 1 :(得分:1)

我认为PHP函数会检查站点是否已分配给IP地址。这就是为什么非活动域被识别为免费的原因!

无论如何,您可以使用PHP的checkdnsrr()再次检查您的代码。

如果不起作用,就会出现extension。我认为它是免费的