/***********************************************
* desc. : Systeme d'inscription au CTF
* Author : NimaG42 pour http://hackbbs.org/
* created : 24/08/2009
***********************************************/
// La je te laisse te connecter à mySQL ou autre
include("admin/bdd.php");
include("admin/config.inc.php");
// Si un form a été envoyé
if(isset($_POST['createEquipe']) && $_POST['createEquipe'] == 1)
{
$nom = mysql_real_escape_string($_POST['nom']);
$fondateur = mysql_real_escape_string($_POST['fondateur']);
$mailFondateur = mysql_real_escape_string($_POST['mailFondateur']);
$logo = mysql_real_escape_string($_POST['logo']);
$membres = mysql_real_escape_string($_POST['membres']);
$pass= mysql_real_escape_string($_POST['pass']);
$pass2=mysql_real_escape_string($_POST['pass2']);
$error=0;
// On test si c'est une création d'équipe et si les args sont bons
if($nom == NULL)
die("Vous devez préciser un nom d'équipe :S\n");
// if($fondateur == NULL)
// die("Vous devez etre logguer pour créer une équipe");
if($mailFondateur == NULL) // test sur le mail
die("Vous devez préciser un mail !");
if(preg_match("#^[a-z0-9._-]+%40[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mailFondateur))
die("Vous devez préciser un mail valide !");
// if($ipVm == NULL) // test sur l'ip
// die("Vous devez préciser l'ip de votre Vm !");
// if(!preg_match("#([0-9]{1,3}\.){3}#", $ipVm))
// die("Vous devez préciser une ip valide !");
// Les tests sont bons. On vérifie qu'une team n'existe pas déjà
//$ipNotAlso = 1;
$mailNotAlso = 1;
$fondateurNotAlso = 1;
$nomNotAlso = 1;
$ret = mysql_query("SELECT * FROM equipeCTF where id_ctf=$id_ctf");
while ($notAlso = mysql_fetch_array($ret))
{
//if ($notAlso['ipVm'] == $ipVm)
// $ipNotAlso = 0;
if ($notAlso['mailFondateur'] == $mailFondateur)
$mailNotAlso = 0;
if ($notAlso['fondateur'] == $fondateur)
$fondateurNotAlso = 0;
if ($notAlso['nom'] == $nom)
$nomNotAlso = 0;
}
//if($ipNotAlso == 0)
//die("Cette ip est déjà prise...");
//if($mailNotAlso == 0)
// die("Cet e-mail est déjà pris...");
// if($fondateurNotAlso == 0)
// die("Euuuuh, vous avez déjà une équipe vous !")
if($nomNotAlso == 0){
die("Désolé ce nom est déjà pris.");
}
// Enfin, on peut enregistrer l'équipe dans equipeCTF
mysql_query("INSERT INTO equipeCTF( nom, pass, fondateur, mailFondateur, logo, membres, status, id_ctf, ipVm) VALUES( '".$nom."', '".$pass."','".$fondateur."',
'".$mailFondateur."', '".$logo."', '$membres', '0', '$id_ctf', '')") or die(mysql_error());
//On peut egalement rajouter les route pour le vpn
//on recupere donc l'id de la team
$req="select id from equipeCTF where nom='$nom' and pass='$pass'";
$res=mysql_query($req)or die(mysql_error());
$resu=mysql_fetch_array($res);
$id_team=$resu['id'];
if (!is_numeric($id_team)){
die("Error, id team not found: $resu");
}
$fp=fopen("/etc/openvpn/ccd/$id_team","w");
fwrite($fp, "ifconfig-push 172.31.38.".$id_team." 255.255.0.0\n#iroute 172.31.38.0 255.255.0.0");
fclose($fp);
//On créer un accès pour cette user au répertoire de clef openvpn
// Password to be encrypted for a .htpasswd file
$clearTextPassword = $pass;
// Encrypt password
$Cpassword = crypt($clearTextPassword, base64_encode($clearTextPassword));
// Print encrypted password
$fpHtpasswd = fopen("/var/www/score/vpn/keys/.htpasswd","a+");
//if($fpHtpasswd){
fwrite($fpHtpasswd,$nom.":".$Cpassword."\n");
fclose($fpHtpasswd);
$fpHtpasswd = fopen("/var/www/score/vpn/keys/.htaccess","a+");
//if($fpHtpasswd){
fwrite($fpHtpasswd,"\nrequire user ".$nom."\n\n");
fclose($fpHtpasswd);
//}
?>
}
else // On affiche le form
{
?>