NickServ.php (Enregsitrement web)

Signaler
Messages postés
7
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
5 janvier 2010
-
Messages postés
4
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
17 février 2012
-
Bonjour à tous...

Je vien de trouvé un script qui permet d'enregistré un pseudo sur NickServ via une interface web.. le probleme c'est qu'il se connect mais ne fait pas l'enregistrement... je vous joint le code.

<? 
## 
## Configuration 
## 

// Adresse de Connexion du Serveur 
$serveur="IRCw.icedslash.com";  
// Port du Serveur 
$port="6667"; 
// Pseudo de NickServ 
$nickserv="NickServ"; 
// Realname & Message de quit 
$mess="NickServ Web"; 

## 
## Function 
## 

function nickreg($pseudo,$pass,$email) { 
global $serveur, $port, $nickserv, $mess; 
$ps=stripslashes($pseudo); 
$mp=stripslashes($pass); 
$em=stripslashes($email); 
$fp=@fsockopen($serveur,$port, $errno, $errstr, 5); 
if (!$fp) { header("Location: regnick.php?err=4"); } 
else { 
fputs($fp,"USER $ps $ps $ps :$mess \r\n");  
fputs($fp,"NICK $ps \r\n"); 
while($data=fgets($fp,1024)) {  
$arg = explode(" ",$data); 
if($arg[1]=="266") { fputs($fp,"PRIVMSG $nickserv :INFO $ps\r\n"); } 
elseif($arg[0]=="ERROR") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=8"); } 
elseif($arg[0]=="PING") { fputs($fp,"PONG $arg[1]\r\n"); } 
elseif($arg[1]=="401") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=6"); } 
elseif($arg[1]=="433") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=7"); } 
elseif($arg[1]=="NOTICE") {  
if(ereg("Le nick (.+) n'est pas enregistré", $data)) { fputs($fp,"PRIVMSG $nickserv :REGISTER $mp $em\r\n"); } 
elseif(ereg("Ce pseudo est enregistré et protégé", $data)) { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=5"); } 
elseif(ereg("Le pseudo (.+) est enregistré", $data)) { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?ok=1"); } 
} 
} 
} 
} 

## 
## Remote 
##  

if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['email']) { 
if(!preg_match("!^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$!i",$_POST['email'])) { header("Location: regnick.php?err=1"); } 
elseif(!preg_match("!^[a-z0-9\-._]{5,10}$!i",$_POST['motpass'])) { header("Location: regnick.php?err=2"); } 
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regnick.php?err=3"); } 
else { @nickreg($_POST['pseudo'],$_POST['motpass'],$_POST['email']); } 
} 

## 
## Code HTML 
## 

echo"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>NickServ Web</title> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1"> 
<META HTTP-EQUIV="CONTENT-LANGAGE" CONTENT="fr"> 
<script language="javascript" type="text/javascript"> 
function verif() 
{ 
var vpseudo = /^[a-z0-9\-._]{2,15}$/i; 
var vmail = /^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$/i; 
var vpass = /^[a-z0-9\-._]{5,10}$/i; 
if (document.nweb.pseudo.value.length == 0) 
{ 
alert("Votre pseudo..."); 
return false; 
} 
if (document.nweb.pseudo.value.length <= 2) 
{ 
alert("Votre pseudo doit contenir minimum 3 caractères..."); 
return false; 
} 
if (!vpseudo.test(document.nweb.pseudo.value)) 
{ 
alert("Votre pseudo comporte des caractères illegaux."); 
return false; 
} 
if (document.nweb.motpass.value.length == 0) 
{ 
alert("Votre mot de passe..."); 
return false; 
} 
if (document.nweb.motpass.value.length <= 5) 
{ 
alert("Votre mot de passe doit contenir minimum 6 caractères..."); 
return false; 
} 
if (!vpass.test(document.nweb.motpass.value)) 
{ 
alert("Votre mot de passe comporte des caractères illegaux."); 
return false; 
} 
if (document.nweb.email.value.length == 0) 
{ 
alert("Votre E-mail..."); 
return false; 
} 

if (!vmail.test(document.nweb.email.value)) 
{ 
alert("Email Incorrect"); 
return false; 
} 
return true; 
} 
</script> 
</head> 
 
<form name="nweb" OnSubmit="return verif()" action="regnick.php" method="post"> 
NickServ Web, \";
if($_GET['err']==\"1\") { echo \"----
Email Incorrect, \"; }
elseif($_GET['err']==\"2\") { echo \"----
Mot de passe Incorrect, \"; }
elseif($_GET['err']==\"3\") { echo \"----
Pseudo Incorrect, \"; }
elseif($_GET['err']==\"4\") { echo \"----
Connexion Impossible, \"; }
elseif($_GET['err']==\"5\") { echo \"----
Pseudo déjà enregistré sur
$nickserv, \"; }
elseif($_GET['err']==\"6\") { echo \"----
$nickserv est offline, \"; }
elseif($_GET['err']==\"7\") { echo \"----
Pseudo en ligne sur le serveur, \"; }
elseif($_GET['err']==\"8\") { echo \"----
Erreur lors de la connexion au
serveur, \"; }
elseif($_GET['ok']==\"1\") { echo \"----
Votre pseudo a bien été enregistré sur
$nickserv, \"; }
echo\"----
Votre Pseudo :, ,
----
Votre Mot de Passe :, ,
----
Votre E-mail :, ,
----

 
</form> 
 
</html>"; 
?>


Merci de votre aide!
IluZi0n`Style

5 réponses

Messages postés
4
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
17 février 2012

Personne n'a une reponse a cett question?
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Il serait plus simple de tout refaire from scratch plutôt que de chercher à corriger ce script immonde. Sérieusement, si c'est juste pour toi fais donc ton enregistrement via un client irc, si c'est pour faire un service web pour ton propre réseau, changes de script ou fait-en un autre.
Messages postés
4
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
17 février 2012

Salut,

je cherche un simple formulaire qui pourrait aider mes users a s'enregistrer via une interface web.

Si quelqu'un en a un ca serait sympa
Merci
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Tout es .
Messages postés
4
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
17 février 2012

Salut,
Merci c'est tres gentil de ta part j'ai deja téléchargé le package Awesome avant, et ca ne marche pas du tout.
On dirait que ca n'existe pas un formulaire pour IRC qui marche sur le net j'ai chérché partout aucune chance.

Je l'ai essayé et re-essayé plusieures fois ca ne donne rien du tout, je trouve PHP ennuyant et tres exigeant meme en reglant un probleme, il passe plus son temps a chercher des erreurs que d'executer le programme, je code avec le java, C++ on a des problemes une fois regle c'est a vie.

Bon il est vrai que le Java et C++ ne sont pas des scripting languages, mais quand meme, toujours des ennuis avec PHP.

Quoi que tu fasse il trouve toujours quelque chose d'autre a foutre en l'air.

Merci de ton aide :)