Aller au contenu

Fonction checkdnsrr() de PHP : Tout ce que vous devez savoir

En tant que développeur PHP, vous devrez peut-être vérifier des noms de domaine ou contrôler l'existence d'enregistrements DNS spécifiques. La fonction checkdnsrr() est une fonction intégrée de PHP conçue à cet effet. Elle vérifie si un type d'enregistrement DNS spécifique existe pour un nom de domaine donné et renvoie true si c'est le cas, ou false sinon.

⚠️ Important : checkdnsrr() a été dépréciée dans PHP 8.2 et supprimée dans PHP 8.4. Pour les applications PHP modernes, utilisez plutôt dns_get_record(). Cet article couvre checkdnsrr() pour la maintenance de code legacy et à des fins éducatives.

Dans cet article, nous examinerons en détail la fonction checkdnsrr() et son utilisation.

Qu'est-ce que la fonction checkdnsrr() ?

La fonction checkdnsrr() est une fonction intégrée de PHP qui vous permet de vérifier les enregistrements DNS d'un nom de domaine. Elle vérifie si un type d'enregistrement DNS spécifique existe pour le nom de domaine donné. La fonction renvoie une valeur booléenne : true si l'enregistrement DNS existe, et false sinon.

Comment utiliser la fonction checkdnsrr()

L'utilisation de la fonction checkdnsrr() est simple. Voici sa syntaxe :

Syntaxe de la fonction checkdnsrr()

php
checkdnsrr($host, $type);

La fonction prend deux paramètres :

  • $host : Le nom de domaine que vous souhaitez vérifier.
  • $type : Le type d'enregistrement DNS que vous souhaitez vérifier. Ce paramètre est optionnel et vaut par défaut « MX » s'il n'est pas spécifié.

Voici un exemple d'utilisation de la fonction checkdnsrr() pour vérifier les enregistrements DNS d'un nom de domaine :

Comment utiliser la fonction PHP checkdnsrr() ?

php
<?php

$domain = "example.com";
if (checkdnsrr($domain)) {
    echo "DNS record exists for $domain";
} else {
    echo "DNS record does not exist for $domain";
}

Dans cet exemple, nous vérifions si un enregistrement DNS existe pour le domaine « example.com ». La fonction renvoie true si l'enregistrement DNS existe et false sinon. Notez que les requêtes DNS peuvent échouer en raison de problèmes réseau, de délais d'attente ou de noms d'hôte invalides. En production, envisagez d'entourer l'appel d'une suppression d'erreurs (@checkdnsrr()) ou d'utiliser dns_get_record() pour une gestion robuste des erreurs.

Types d'enregistrements DNS

La fonction checkdnsrr() peut vérifier différents types d'enregistrements DNS. Le paramètre $type spécifie le type d'enregistrement DNS que vous souhaitez vérifier. Voici quelques-uns des types d'enregistrements DNS les plus courants :

  • A : Renvoie l'adresse IPv4 du nom de domaine.
  • AAAA : Renvoie l'adresse IPv6 du nom de domaine.
  • MX : Renvoie le serveur de messagerie (exchange) pour le nom de domaine.
  • NS : Renvoie le serveur de noms pour le nom de domaine.
  • CNAME : Renvoie le nom canonique pour un alias.

Conclusion

La fonction checkdnsrr() est un outil utile pour vérifier les noms de domaine et contrôler l'existence d'un nom de domaine. En comprenant la syntaxe et l'utilisation de la fonction, vous pouvez facilement vérifier différents types d'enregistrements DNS pour un nom de domaine. Nous espérons que cet article vous a été informatif et utile pour comprendre la fonction checkdnsrr() en PHP.

Pratique

Que fait la fonction checkdnsrr() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.