1

これは、ドメイン名の検証に関する別のトピックです。他のトピックの回答を読みました。いくつかのスクリプトを試しました。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. サイトにレジストラがあるかどうかを確認する方法はありますか。

私はまだ学生ですが、これは学校のプロジェクトではありません。

ライブコード:リンク

私は答えをチェックしています、事前に感謝します

編集:

しようとすると

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

予期しない T_String エラーが発生します。これを使用する正しい方法は何ですか?

4

2 に答える 2

4

UNIX ベースのサーバーで一般的に見られる whois コマンド ライン ユーティリティを実行する権限が PHP インストールにある場合は、次のコマンドから情報を取得できます。

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

このコマンドは、「Is」の下のこの SIDN ページから取得されます。これを 1 つの IP アドレスから 1 日に 15 回以上実行できるかどうかを確認する必要があります。これは、より完全な whois (「is」なし) では実行できないためです。また、1 秒あたり 1 つのリクエストに制限されているようです。

于 2013-03-28T10:00:30.010 に答える
1

サイトがIPアドレスに割り当てられているかどうかをPHP関数がチェックしていると思います。これが、非アクティブなドメインが無料として識別される理由です!

とにかく、PHP のcheckdnsrr()を使用してコードを再度チェックできます。

機能しない場合は、この目的のための拡張機能があります。無料だと思います

于 2013-03-28T10:00:36.580 に答える