私はユーザー提供のWebページへのリンクを記録するサイトを持っています。私はそれらが有効であればそれらを記録したいだけです。ワイルドカードリゾルバでドメインの有効性を確認してください
私はドメイン有効性を確認するためにcheckdnsrr($domain, 'A')
を使用していましたが、これは常にtrue
を返すことに気付きました。私は共有ホスティングにいるので(私は何も変更することはできません)。私はサーバ管理者にバグを報告し、彼は答えました:
私たちはサーバー上のリゾルバにOpenDNSを使用します。彼らのリゾルバは無効なドメインを指すようにワイルドカードを設定しているので、無効なドメインに対してもIP/DNSレコードを返すでしょう。このため、入力するすべてのドメインにAレコードがあると表示されます。
いいえ。
無効なドメインにはcURL
を使用しないでください。実際はもっと大きな問題があります。私はこのリゾルバが "このドメインは存在しません"のような何らかのエラーページを返し、おそらく有効な返品ステータス200または他の何らかのものを発行すると信じています。このステータスを使用して、ページが実際に有効であることを確認します。したがって、無効なドメインは、自分のサイトで有効と記録されます。
(ユーモラスに、無効なURLを持つ有効なドメインは、ページが404またはその他のエラー状態になることにつながります。は、と記録されます)。
とにかく、ドメインの有効性を確認するための方法はありますか?私はサードパーティのサイトを使用しても構いません。
curlを使用すると、おそらく無意味になります。PHPと同じリゾルバを使用していて、opendnsが提供しているどのIPでも終わるでしょう。 –