| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Mer Mar 26, 2008 1:44 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Salut les Wrinautes !!
Apres des mois a surfer sur WRI je sais que beaucoup d'entre vous attendent ce code avec impatience. Il a été testé chez OVH sur 1 serveur mutualisé et retourne sans erreur la disponibilité d'un nom de domaine avec les extentions suivantes:
.com .eu .fr .net .org .info .ca .biz .de me.uk co.uk org.uk
Sans plus attendre, voici le code:
| Code: |
<?php
$result = '';
$theNdd = trim($_POST['theNdd']);
$theExt = $_POST['theExt'];
if (!empty($theNdd) AND !empty($theExt)) {
$theNdd = preg_replace(array( '/http:\/\/www\./',
'/http:\/\//',
'/www\./' ),
array( '', '', '') ,$theNdd);
$theNdd = preg_replace(array( '/\.eu/',
'/\.fr/',
'/\.com/',
'/\.net/',
'/\.org/',
'/\.info/',
'/\.biz/',
'/\.de/',
'/\.me.uk/',
'/\.co.uk/',
'/\.org.uk/',
'/\.ca/' ),
array( '', '', '', '', '', '', '', '', '', '', '', '') ,$theNdd);
$theNdd = escapeshellcmd($theNdd);
//on definit les case du tableau à vérifier
$caseForVerif['.net']=7;
$caseForVerif['.com']=7;
$caseForVerif['.org']=0;
$caseForVerif['.fr']=13;
$caseForVerif['.ca']=5;
$caseForVerif['.info']=0;
$caseForVerif['.biz']=1;
$caseForVerif['.de']=35;
$caseForVerif['.eu']=50;
$caseForVerif['.me.uk']=30;
$caseForVerif['.co.uk']=30;
$caseForVerif['.org.uk']=40;
//on definit les phrase à vérifier dans ces cases
$strForVerif['.com']='No match for "'.$theNdd.'.COM".';
$strForVerif['.fr']='%% No entries found in the AFNIC Database.';
$strForVerif['.net']='No match for "'.$theNdd.'.NET".';
$strForVerif['.org']='NOT FOUND';
$strForVerif['.ca']='';
$strForVerif['.info']='NOT FOUND';
$strForVerif['.biz']='';
$strForVerif['.de']='';
$strForVerif['.eu']='';
$strForVerif['.me.uk']='';
$strForVerif['.co.uk']='';
$strForVerif['.org.uk']='';
foreach($theExt as $anExt) {
$myArray="";
$anExt=escapeshellcmd($anExt);
exec('whois '.$theNdd.$anExt,$myArray,$retval);
$result.=(strtolower($myArray[$caseForVerif[$anExt]])==strtolower($strForVerif[$anExt]))?"->> ".$theNdd.$anExt." est libre<br/>":"->> ".$theNdd.$anExt." est déjà réservé<br />";
}
}
?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" name="formVeirfNdd" enctype="multipart/form-data" method="post">
www.<input type="text" name="theNdd" value="<?php echo $theNdd; ?>" />
<input name="theExt[]" type="checkbox" value=".com" id="com" checked><label for="com">.com</label>
<input name="theExt[]" type="checkbox" value=".eu" id="eu"><label for="eu">.eu</label>
<input name="theExt[]" type="checkbox" value=".fr" id="fr"><label for="fr">.fr</label>
<input name="theExt[]" type="checkbox" value=".net" id="net"><label for="net">.net</label>
<input name="theExt[]" type="checkbox" value=".org" id="org"><label for="org">.org</label>
<input name="theExt[]" type="checkbox" value=".info" id="info"><label for="info">.info</label>
<input name="theExt[]" type="checkbox" value=".ca" id="ca"><label for="ca">.ca</label>
<input name="theExt[]" type="checkbox" value=".biz" id="biz"><label for="biz">.biz</label>
<input name="theExt[]" type="checkbox" value=".de" id="de"><label for="de">.de</label>
<input name="theExt[]" type="checkbox" value=".me.uk" id="me.uk"><label for="me.uk">me.uk</label>
<input name="theExt[]" type="checkbox" value=".co.uk" id="co.uk"><label for="co.uk">co.uk</label>
<input name="theExt[]" type="checkbox" value=".org.uk" id="org.uk"><label for="org.uk">org.uk</label>
<input type="submit" value="Vérifier">
</form>
<?php echo '<h3>'.$result.'</h3>'; ?>
|
Dernière édition par KOogar le Ven Mar 28, 2008 12:16; édité 1 fois |
|
| |
|
 |
capleton59 WRInaute impliqué

Inscrit le: 24 Avr 2005 Messages: 302 Localisation: Lille
|
Posté le : Mer Mar 26, 2008 10:03 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Merci je vais tester ça  |
|
| |
|
 |
DadouDuck WRInaute passionné

Inscrit le: 28 Mai 2007 Messages: 526
|
Posté le : Mer Mar 26, 2008 10:07 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
| Comment tu testes la dispo? tu exécutes une appli du serveur? |
|
| |
|
 |
Basque WRInaute occasionnel

Inscrit le: 19 Mar 2008 Messages: 171
|
Posté le : Mer Mar 26, 2008 10:11 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
| Citation: |
exec('whois '.$theNdd.$anExt,$myArray,$retval);
|
|
|
| |
|
 |
DadouDuck WRInaute passionné

Inscrit le: 28 Mai 2007 Messages: 526
|
Posté le : Mer Mar 26, 2008 10:52 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Ben justement, exec c'est pas pour exécuter une appli du serveur??
Enfin, il y a un problème, c'est que c'est très long pour tester |
|
| |
|
 |
webmasterlamogere WRInaute accro

Inscrit le: 17 Déc 2006 Messages: 1143 Localisation: Montpellier & Lyon
|
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Mer Mar 26, 2008 13:24 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
lu,
http://www.cybwarrior.com/download/dl/php/whois/index.php
"Le nom de domaine phpsources.org semble libre" ...
ca ma l'air un peu foireux comme script..
| DadouDuck a écrit: |
Enfin, il y a un problème, c'est que c'est très long pour tester |
Pas chez moi |
|
| |
|
 |
DadouDuck WRInaute passionné

Inscrit le: 28 Mai 2007 Messages: 526
|
Posté le : Mer Mar 26, 2008 17:58 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
| J'ai fais un benchmark dessus, et voila ce que j'obtiens : 120.06942 secondes c'est pour cela que je voudrais comprendre le fonctionnement du whois pour savoir pourquoi j'ai autant de délais d'attente |
|
| |
|
 |
webmasterlamogere WRInaute accro

Inscrit le: 17 Déc 2006 Messages: 1143 Localisation: Montpellier & Lyon
|
Posté le : Mer Mar 26, 2008 18:03 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
| KOogar a écrit: |
http://www.cybwarrior.com/download/dl/php/whois/index.php
"Le nom de domaine phpsources.org semble libre" ...
ca ma l'air un peu foireux comme script..
|
en effet ça marche pas avec les .org
le serveur whois interrogé ne doit pas être le bon |
|
| |
|
 |
pppplus Nouveau WRInaute
Inscrit le: 30 Oct 2006 Messages: 10
|
Posté le : Mer Mar 26, 2008 23:01 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Bonjour,
Comment fait-on pour autoriser son propre serveur à pouvoir exécuter ces scripts whois ?
Depuis que je suis sur mon nouveau serveur, j'ai une erreur fsockopen :
| Code: |
| Warning: fsockopen() [function.fsockopen]: unable to connect to whois.verisign-grs.com:43 (Connection timed out) in |
Les techniciens me disent que c'est un problème de firewall et que c'est "mon" problème. Ils me l'avaient débloqué l'an passé sur le précédent serveur, mais rien à faire cette année. .
Donc où peut-on régler ce problème ?
Serveur privé sur Linux, avec plesk8.3
J'ai accès au serveur par Putty et Winscp.
Si vous savez comment faire, ce sera super sympa de m'aider ! |
|
| |
|
 |
efz WRInaute occasionnel

Inscrit le: 16 Nov 2005 Messages: 171 Localisation: NANTES
|
Posté le : Jeu Mar 27, 2008 12:34 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Ton script fonctionne très bien, je le garde sous le coude, ça peut servir
Merci KOogar pour cette contribution
ps: une petite reco pour toi  |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Ven Mar 28, 2008 12:26 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
| efz a écrit: |
Ton script fonctionne très bien, je le garde sous le coude, ça peut servir
Merci KOogar pour cette contribution
ps: une petite reco pour toi  |
c'est pas moi qui mérite la reco mais le script
Je viens de mettre la mouture définitive, j'ai préféré gérer les erreurs directement sans rapports.
Par exemple si le client met malencontreusement le "http://" dans la requete, au lieu de lui demander de l'enlever, le script le fait pour lui et le client peut continuer d'envoyer ses requêtes sans perdre de temps. |
|
| |
|
 |
maddanny WRInaute impliqué

Inscrit le: 23 Mar 2005 Messages: 263
|
Posté le : Ven Mar 28, 2008 12:55 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
Le script est sympa sauf que le whois n'est pas un outil pour verifier la disponibilité d'un nom de domaine !
Pour verifier à coup sur la dispo d'un NDD, mieux vaut utiliser les API d'un registrar, c'est plus efficace et fiable
MADdanny |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Ven Mar 28, 2008 13:37 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
tu peux nous donner le code dont tu parles ?
Les rapports ne changent pas comme ca, ce code avec le whois devrait rester actualisé pendant quelques années. |
|
| |
|
 |
webmasterlamogere WRInaute accro

Inscrit le: 17 Déc 2006 Messages: 1143 Localisation: Montpellier & Lyon
|
Posté le : Ven Mar 28, 2008 16:59 Sujet du message: PHP - Code vérifier la disponibilité d'un nom de domaine |
|
|
J'ai trouvé l'API OVH. la spec est là : http://www.ovh.com/soapi/fr/domainCheck.xml
il suffit juste de renseigner son login et mot de passe OVH et remplacer example.com par le domaine a tester.
Ce script ne marche qu'en PHP5. il faut donc mettre une extension php5 ou ajouter la ligne suivante dans le .htaccess :
| Code: |
<?php
$soap = new SoapClient('http://www.ovh.com/soapi/ovh.wsdl');
//login
try {
$login = "XXXXX-ovh";
$password = "********";
$session = $soap->login($login,$password,null);
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
//domainCheck
try {
$result = $soap->domainCheck($session, 'example.com');
foreach($result as $value) {
echo $value->reason . '<br>';
}
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
//logout
try {
$result = $soap->logout($session);
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
?> |
|
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|