Fichier config.php:
Code :
<?php
$host = 'localhost'; //hote mysql
$user = 'root'; //nom d'utilisateur mysql
$pass = ''; //mot de passe mysql
$realmd = 'realmd'; //base de données des comptes
$characters = 'characters'; //base de données des personnages
// NE PAS TOUCHER //
$connexion = mysql_connect($host ,$user ,$pass) or die(mysql_error());
?>
Fichier unlock.php:
Code :
<?php
session_start();
error_reporting(0);
include ('config.php');
echo'<center>';
switch ($_GET['action'])
{
case "":
echo'<h2>Deloquer mon personnage</h2>
<form action="unlock.php?action=unlock" method="post">
<b>Nom de compte :</b></font><br /><input type="text" name="pseudo"><br />
<b>Mot de passe :</b></font><br> <input type="password" name="pass"><br />
<b>Personnage :</b></font><br /><input type="text" name="character"><br /><br />
<input type="submit" value="Debloquer" name="connexion" >
</form>';
break;
case "unlock":
mysql_select_db($realmd,$connexion) or die("Impossible de se connecter à la base de données");
$username = $_POST['pseudo'];
$password = $_POST['pass'];
$character = $_POST['character'];
if (preg_match('#INSERT|SELECT|UNION|FROM|WHERE|DELETE#', $username) OR preg_match('#INSERT|SELECT|UNION|FROM|WHERE|DELETE#', $password) OR preg_match('#INSERT|SELECT|UNION|FROM|WHERE|DELETE#', $character))
{
echo 'Injection SQL detectee.<br /><a href=unlock.php>Reessayer</a>';
}
else {
if (empty($username) OR empty($password) OR empty($character))
{
echo '- Tous les champs ne sont pas remplis.<br /><a href=unlock.php>Reessayer</a>';
$remp = 0;
}
else {
$cous = mysql_query("SELECT * FROM account WHERE username='$username'");
$countus = mysql_num_rows($cous);
if ($countus == 0)
{
echo 'Le compte d\'utilisateur n\'existe pas.<br /><a href=unlock.php>Reessayer</a>';
}
else
{
$acci = mysql_query("SELECT * FROM account WHERE username='$username'");
$account= mysql_fetch_assoc($acci);
$sha = ''.$username.':'.$password.'';
$shapass= sha1($sha);
$shacc = $account['sha_pass_hash'];
if($shapass == $shacc)
{
mysql_select_db($characters,$connexion) or die("Impossible de se connecter à la base de données.<a href=unlock.php>Reessayer</a>");
$coch = mysql_query("SELECT * FROM characters WHERE name='$character'");
$countch = mysql_num_rows($coch);
if ($countch == 0)
{
echo 'Le personnage n\'existe pas.<br><a href=unlock.php>Reessayer</a>';
}
else
{
$char = mysql_query("SELECT * FROM characters WHERE name='$character'");
$charact= mysql_fetch_assoc($char);
if($charact['account'] != $account['id'])
{
echo 'Ce personnage n\'est pas sur votre compte.<br /><a href=unlock.php>Reessayer</a>';
}
else
{
if ($charact['online'] ==1)
{
echo 'Ce personnage est en ligne. Veuillez vous deconnecter pour le debloquer.<br /><a href=unlock.php>Reessayer</a>';
}
else
{
$guid = $charact['guid'];
$homebinb = mysql_query("SELECT * FROM character_homebind WHERE guid='$guid'");
$homb = mysql_fetch_assoc($homebind);
$map = $homb['map'];
$zonex = $homb['position_x'];
$zoney = $homb['position_y'];
$zonez = $homb['position_z'];
$zone = $homb['zone'];
mysql_query("UPDATE characters SET map='$map', position_x='$zonex', position_y='$zoney', position_z='$zonez', zone='$zone' WHERE name=$character");
echo 'Votre personnage a été débloqué avec succes. Il est maintenant dans son auberge.<br><a href=index.php>Retour</a>';
}
}
}
}
else
{
echo 'Le mot de passe n\'est pas bon !<br /><a href=unlock.php>Reessayer</a>';
}
}
}
}
}
echo '</center>';
?>