Enregistrement du salon sous chanserv
#1
Avec un script d'enregistrement nickserv trouver sur ircz fut un temps, j'ai bidouiller sa en quelques minutes de façon à faire en sorte que celui ci devienne un enregistrement Chanserv pour les pseudonymes enregistrer.

Code PHP :
<?
##
## Configuration
##

// Adresse de Connexion du Serveur
$serveur="ip.de.votre.serveur"; 
// Port du Serveur
$port="6667";
// Pseudo de chanserv
$chanserv="ChanServ";
// Pseudo de nickserv
$nickserv="NickServ";
// Pseudo de botserv
$botserv="BotServ";
// Nom du robot botserv ajouter auto
$pseudobotserv="Nom.robot";
// Realname & Message de quit
// Remplacer M par H ou laisser de façon que le pseudo est un sexe sous l'applet
$mess="20 M Inscription ChanServ";

##
## Function
##

function chanreg($pseudo,$pass,$salon) {
global $serveur, $port, $nickserv, $botserv, $pseudobotserv, $chanserv, $mess;
$ps=stripslashes($pseudo);
$mp=stripslashes($pass);
$em=stripslashes($salon);
$fp=@fsockopen($serveur,$port, $errno, $errstr, 5);
if (!$fp) { header("Location: regchan.php?err=4"); }
else {
fputs($fp,"USER $ps $ps $ps :$mess \r\n"); 
fputs($fp,"NICK $ps \r\n");
fputs($fp,"JOIN $em \r\n");
fputs($fp,"PRIVMSG $nickserv :identify $mp \r\n");
fputs($fp,"PRIVMSG $chanserv :REGISTER $em $mp Salon enregistrer.\r\n"); 
fputs($fp,"PRIVMSG $botserv :ASSIGN $em $pseudobotserv\r\n"); 
while($data=fgets($fp,1024)) { 
$arg = explode(" ",$data);
if($arg[1]=="PRIVMSG") { fputs($fp,"PRIVMSG $chanserv :INFO $em\r\n"); }
elseif($arg[0]=="ERROR") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regchan.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: regchan.php?err=6"); }
elseif($arg[1]=="433") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regchan.php?err=7"); }
}
}
}

##
## Remote
## 

if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['salon']) {
if(!preg_match("!^[#-0-9a-z\-._]{2,15}$!i",$_POST['salon'])) { header("Location: regchan.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['motpass'])) { header("Location: regchan.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regchan.php?err=3"); }
else { @chanreg($_POST['pseudo'],$_POST['motpass'],$_POST['salon']); }
}

##
## Code HTML
##

echo"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>Chanserv par internet</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 vsalon = /^[#-0-9a-z\-._]{2,15}$/i;
var vpass = /^[a-z0-9\-._]{2,15}$/i;
if (document.nweb.pseudo.value.length == 0)
{
alert(\"Pseudonyme\");
return false;
}
if (document.nweb.pseudo.value.length <= 2)
{
alert(\"Votre pseudonyme est incorrecte.\");
return false;
}
if (!vpseudo.test(document.nweb.pseudo.value))
{
alert(\"Votre pseudonyme comporte des caractères illegaux.\");
return false;
}
if (document.nweb.motpass.value.length == 0)
{
alert(\"Mots de passe\");
return false;
}
if (document.nweb.motpass.value.length <= 5)
{
alert(\"Votre mots de passe est pas le bon.\");
return false;
}
if (!vpass.test(document.nweb.motpass.value))
{
alert(\"Votre mot de passe comporte des caractères illegaux.\");
return false;
}
if (document.nweb.salon.value.length == 0)
{
alert(\"Salon a creer\");
return false;
}
if (!vmail.test(document.nweb.salon.value))
{
alert(\"salon Incorrect\");
return false;
}
return true;
}
</script>
</head>
<body>
<form name=\"nweb\" OnSubmit=\"return verif()\" action=\"regchan.php\" method=\"post\">
<table>
<tr><td align=\"center\" colspan=\"2\"><b></b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">salon Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $chanserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$chanserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $chanserv</font><br><br></td></tr>"; }
echo"<tr><td align=\"right\">Pseudonyme :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"pseudo\" size=\"30\" maxlength=\"20\"></td></tr>
<tr><td align=\"right\">Mot de Passe :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"motpass\" size=\"30\" maxlength=\"10\"></td></tr>
<tr><td align=\"right\">Salon a creer :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"salon\" size=\"30\" maxlength=\"50\"></td></tr>
<tr><td align=\"right\" colspan=\"2\"><input type=\"submit\" value=\"Enregistrer\"></td></tr>
</table>
<center> Enregistrement de votre pseudo sous $chanserv <br /><br />
<center> N'oubliez pas d'etre offline pour enregistrer votre salon, puis attendre 1min pour revenir sur le tchat. Merci<br /><br />
<center> Il n'y a aucune confirmation pour l'enregistrement du salon.<br /><br />
</form>
</body>
</html>";

?>

Voici ce qu'ont doit ajouter pour voir le formulaire d'inscription sur le site :
Code PHP :
    <iframe src="regchan.php" name="chat" height="300" width="400" > </iframe

Je rappel que ce n'est que de la bidouille, cela marche mais n'est pas parfait, donc si des gens veulents l'ameliorer/continuer n'esiter pas.
PS : Sorry mais je ne savais pas ou post ce code.
Répondre
#2
Je viens de déplacer le sujet dans la bonne rubrique. Le script est intéressant et pas bête du tout.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté