Erreur d'inscription/connexion Trinity Cataweb
Bonjour. J'ai télécharger la version Trinity Cata Web de ce topic .
J'ai un peu réadapté le barda, l'administration ne marchait pas.

Et puis j'ai vu ce topic .
Le pauvre a le même soucis que moi, il s'est fait engueulé, mais il n'a pas tord. Il y a un soucis.

L'inscription & la connexion sont des fonctions utilisants des cryptages différents.

Inscriptions :
Code PHP :
$this->cryptedPassword sha1(strtoupper($this->username).':'.strtoupper($this->password)); 

Connexion :
Code PHP :
SHA1(CONCAT(UPPER('".$login."'),':',UPPER('".$password."')) 


J'ai essayé de changer le cryptage de la connexion, par celui de l'inscription, j'ai essayé, mais en vain.
Quelqu'un aurait-il une idée ?


Voici un lien de téléchargement des deux fichiers PHP présent dans le pack téléchargé.
Quel erreur tu as ?
Édition :
Ce n'est pas trinity cata web:
Citation ://////////////////////////////////////////////////
// *MaNGOS-Cata-Web* //
// //
// Site développé par Allan pour Easy-MaNGOS //
//////////////////////////////////////////////////
C'est ce que j'ai posté sur le topic, on m'a répondu que c'était parce c'était la version adapté de MaNGOS Cata Web.

Message d'erreur :
Citation :Erreur : Le pseudo ou le mot de passe choisi est invalide...
Tu peux poster le code de connexion et d'inscription stp j'ai la flemme de dl le site entier
Code PHP :
<?php
//////////////////////////////////////////////////
//               *MaNGOS-Cata-Web*                //
//                                                //
//    Site développé par Allan pour Easy-MaNGOS    //
//////////////////////////////////////////////////
require_once('includes/classes/class.mcw.php');
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr">
<head>
<title><?php echo $array_site['nom']; ?> > Connexion</title>
<?php include_once('includes/html/head.html'); ?>
</head>
<body class="fr-fr homepage">
    <div id="wrapper">
        <?php include_once('includes/html/header/accueil.html'); ?>
        <div id="content">
            <div class="content-top">
                <div class="content-bot">    
                    <div id="homepage">
                        <div id="left">
                            <?php include_once('includes/html/slideshow.html'); ?>
                                <?php include_once('includes/html/featured-news.html'); ?>
                                    <div id="news-updates">
                                        <div class="news-article first-child">
                                            <h3>
                                                <a>Connexion</a>
                                            </h3>
                                        </div>
                                        <?php
                                        
if($_SESSION['login'] && $_SESSION['login'] == TRUE)
                                        {
                                            echo 
'
                                            <script language="javascript"> 
                                                alert("Erreur : Vous êtes déjà connecté !");
                                                document.location.href="index.php" 
                                            </script>'
;
                                        }else
                                        {
                                            if(isset(
$_POST['connexion']))
                                            {
                                                if(!empty(
$_POST['login']) AND !empty($_POST['password']))
                                                {
                                                    
$login mysql_real_escape_string(htmlentities($_POST['login']));
                                                    
$password mysql_real_escape_string(htmlentities($_POST['password']));
                                                            
                                                    
$account_username doquery("SELECT * FROM `account` WHERE `username` = '".$login."'"0"db_realmd"FALSE);
                                                    
$row_account_username mysql_fetch_array($account_username);
                                                    
                                                    
$account_banned_id doquery("SELECT * FROM `account_banned` WHERE `id` = '".$row_account_username['id']."' AND `active` = '1'"0"db_realmd"FALSE);
                                                    
$row_account_banned_id mysql_fetch_array($account_banned_id);
                                                    
                                                    
$ip_banned doquery("SELECT * FROM `ip_banned` WHERE `ip` = '".$ip."' LIMIT 1"0"db_realmd"FALSE);
                                                    
$row_ip_banned mysql_fetch_array($ip_banned);
                                                    
                                                    if(
mysql_num_rows($ip_banned) == 0)
                                                    {
                                                        if(
mysql_num_rows($account_banned_id) == 0)
                                                        {                                                    
                                                            if(
mysql_num_rows($account_username) > 0)
                                                            {
                                                                
$account_password doquery("SELECT * FROM `account` WHERE `sha_pass_hash` = SHA1(CONCAT(UPPER('".$login."'),':',UPPER('".$password."')))"0"db_realmd"FALSE);
                                                                                
                                                                if(
mysql_num_rows($account_password) > 0)
                                                                {
                                                                    
$_SESSION['login'] = TRUE;
                                                                    
$_SESSION['id'] = $row_account_username['id'];
                                                                    
$_SESSION['username'] = $login;
                                                                            
                                                                    echo 
'
                                                                    <script language="javascript"> 
                                                                        alert("Connexion réussie ... Bienvenue '
.$_SESSION['username'].' !");
                                                                        document.location.href="index.php" 
                                                                    </script>'
;
                                                                }else
                                                                {
                                                                    echo 
'
                                                                    <script language="javascript"> 
                                                                        alert("Erreur : Le pseudo ou le mot de passe choisis est invalide ...");
                                                                        document.location.href="connexion.php" 
                                                                    </script>'
;
                                                                }
                                                            }else
                                                            {
                                                                echo 
'
                                                                <script language="javascript"> 
                                                                    alert("Erreur : Le pseudo ou le mot de passe choisis est invalide ...");
                                                                    document.location.href="connexion.php" 
                                                                </script>'
;
                                                            }
                                                        }else
                                                        {
                                                            echo 
'
                                                            <script language="javascript"> 
                                                                alert("Ce compte a été BAN pour la raison suivante : '
.$row_account_banned_id['banreason'].'.\n\Dans ces conséquences il vous sera impossible de vous connectez avec ce compte !");
                                                                document.location.href="connexion.php" 
                                                            </script>'
;
                                                        }
                                                    }else
                                                    {
                                                        echo 
'
                                                        <script language="javascript"> 
                                                            alert("Cette adresse IP a été pour la raison suivante : '
.$row_ip_banned['banreason'].'.\n\Dans ces conséquences il vous sera impossible de vous connectez avec cette adresse IP !");
                                                            document.location.href="index.php" 
                                                        </script>'
;
                                                    }
                                                }else
                                                {
                                                    echo 
'
                                                    <script language="javascript"> 
                                                        alert("Erreur : Tous les champs ne sont pas remplis !");
                                                        document.location.href="connexion.php" 
                                                    </script>'
;
                                                }
                                            }else
                                            {
                                                echo 
'                                        
                                                <div class="news-article">
                                                    <form action="" method="post">
                                                        Nom de compte :<br /><input type="text" name="login" />
                                                        <br /><br />
                                                        Mot de passe :<br /><input type="password" name="password" />
                                                        <br /><br />
                                                        <input type="submit" value="Connexion" name="connexion" />
                                                    </form>
                                                </div>'
;
                                            }
                                        }
                                        
?>
                                    </div>
                        </div>
                        <?php include_once('includes/html/right.html'); ?>
                    </div>
                </div>
            </div>
        </div>
        <?php include_once('includes/html/footer.html'); ?>
        <?php include_once('includes/html/service.html'); ?>
    </div>
</body>
</html> 

Code PHP :
<?php
define
('USER_LENGHT'3);     // Taille minimum du nom de compte
define('PASSWORD_LENGHT'3); // Taille minimum du mot de passe

class Inscription
{
    private 
$inscriptionId;
    private 
$username;
    private 
$password;
    private 
$passwordRepeat;
    private 
$cryptedPassword;
    private 
$email;
    private 
$inscriptionDate;
    private 
$extension;
    private 
$errorMsg;
    private 
$error;
    private 
$injection;    
    
    private function 
construct()
    {
        
$this->inscriptionDate date('Y-m-d H:i:s');
        
$this->error false;
        
$this->errorMsg '';
        
$this->injection false;
        
$this->cryptedPassword '';
    }
    private function 
verifyUsername()
    {
        if(
strlen($this->username) <= USER_LENGHT)
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : Le nom d\'utilisateur choisit est trop court !");
                                    document.location.href="inscription.php" 
                                </script>'
;
        }
        
$sqlUsername doquery('SELECT COUNT(*) AS nombre FROM `account` WHERE username=\'' $this->username.'\''0"db_realmd"FALSE) or die('Erreur : '.mysql_error());
        
$datasUsername mysql_fetch_assoc($sqlUsername);

        if(
$datasUsername['nombre'] == 1)
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : Le nom d\'utilisateur choisit est déjà utilisé !");
                                    document.location.href="inscription.php" 
                                </script>'
;
        }
        
$this->sqlDetect($this->username);
    }
    private function 
verifyPassword()
    {
        if(
strlen($this->password) <= PASSWORD_LENGHT)
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : Le mot de passe choisi est trop court !");
                                    document.location.href="inscription.php" 
                                </script>'
;
        }
        if(
$this->password !== $this->passwordRepeat)
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : Les deux mots de passe ne sont pas identique !");
                                    document.location.href="inscription.php" 
                                </script>'
;            
        }
        
$this->sqlDetect($this->password);
    }
    private function 
verifyEmail()
    {
        if(!
preg_match('#^[a-z0-9.-_]+@[a-z0-9.-_]{2,}\.[a-z]{2,4}$#'$this->email))
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : L\'adresse email n\'est pas correcte !");
                                    document.location.href="inscription.php" 
                                </script>'
;
        }
        
$sqlEmail doquery('SELECT COUNT(*) AS nombre FROM `account` WHERE email=\''.$this->email.'\''0"db_realmd"FALSE) or die('Comparaison des emails : '.mysql_error());;
        
$datasEmail mysql_fetch_assoc($sqlEmail);

        if(
$datasEmail['nombre'] != 0)
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Erreur : Cette adresse email est déjà utilisé !");
                                    document.location.href="inscription.php" 
                                </script>'
;
        }
        
$this->sqlDetect($this->email);
    }

    public function 
verifyAll()
    {
        
$this->verifyUsername();
        
$this->verifyEmail();
        
$this->verifyPassword();
        
        if(!
$this->error)
        {
            
$this->cryptedPassword sha1(strtoupper($this->username).':'.strtoupper($this->password));
            
doquery('INSERT INTO account(username,
                                            sha_pass_hash,
                                            gmlevel,
                                            email,
                                            joindate,
                                            last_ip,
                                            expansion)
                                    VALUES(\''
.$this->username.'\',
                                            \''
.$this->cryptedPassword.'\',
                                            0,
                                            \''
.$this->email.'\',
                                            \''
.$this->inscriptionDate.'\',
                                            \''
.$_SERVER['REMOTE_ADDR'].'\',
                                            \''
.$this->extension.'\')'0"db_realmd"FALSE) or die('Erreur : '.mysql_error());
            echo 
'
            <script language="javascript"> 
                alert("Inscription terminée avec succès !");
                document.location.href="index.php" 
            </script>'
;
        }else
        {
            if(
$this->injection)
            {
                echo 
'
                <script language="javascript"> 
                    alert("C\'est pas bien ça !");
                    document.location.href="index.php" 
                </script>'
;
            }
            else
            {
                echo 
'
                <script language="javascript"> 
                    alert("Plusieurs erreurs ont été trouvée durant l\'inscription : '
.$this->errorMsg.'");
                    document.location.href="inscription.php" 
                </script>'
;
            }
        }
    }
    private function 
sqlDetect($string)
    {
        if (
preg_match('#INSERT|SELECT|UNION|FROM|WHERE|DELETE#'$string))
        {
            
$this->error true;
            
$this->errorMsg .= '<script language="javascript"> 
                                    alert("Injection sql détectée !");
                                    document.location.href="inscription.php" 
                                </script>'
;
            
$this->injection true;
        }
    }
    public function 
setUsername($username)
    {
        
$this->username mysql_real_escape_string($username);
    }
    
    public function 
setPassword($password)
    {
        
$this->password mysql_real_escape_string($password);
    }
    
    public function 
setPasswordRepeat($password)
    {
        
$this->passwordRepeat mysql_real_escape_string($password);
    }
    
    public function 
setEmail($email)
    {
        
$this->email mysql_real_escape_string($email);
    }
    
    public function 
setExtension($extension)
    {
        
$this->extension $extension;
    }
}
?>

Édition :
Faignant vas Langue *man va me chercher une canette dans le frigo*
Sinon j'ai regarder je c'est pas de ou sa proviens j'ai déjà eu un problème de se genre ba j'ai pas chercher à comprendre j'ai refait le script de a A z
Édition :
les bases de donné auth == realmd ? les meme champs ?
Ca fait un bye que j'ai pas fait de l'emu >.<
@Klaas : J'y avais pensé, j'ai déjà mis le lien en bas de mon post. Smile

Hélas, ça ne marche pas. :/
Cependant, en local, j'ai remarqué que si j'importait une database avec des comptes déjà existants, et j'arrivais à me connecter en jeu ET sur le site.
Dans le cas présent on peut s'inscrire mais pas se connecter, donc techniquement on ne peux pas se connecter aussi, j'en déduis que c'est pas la connexion qui foire, comme je le pensais, mais bien le fichier d'inscription. Je vais essayer de remplacer le code d'inscription par celui de connexion (au niveau du cryptage), je ferais ça dans la soirée, si quelqu'un à le temps avant moi, qu'il n'hésite pas. x)
C'est étonnant que personne n'ait remarqué cette erreur, le CMS est présent depuis pas mal de temps
ba pour savoir si il foire regarde dans les deux tables si le comtpe et bien inscrit

Édition :
Sinon j'ai tester chez moi c'est bon
Édition :
Mangos cata web na pas de tables pour les compte il utilise seulement realmd => account
SI tu crée un compte via le site ça permet de se connecter IG ?
J'ai réussi à adapter la table realmd présente dans le pack pour la table account (c'est juste un fichier SQL qui patch la table realmd/auth pour mettre une ou deux colonne pour les points de vote).
Quand je crée un compte, je ne sais pas si on peut se connecter IG, je n'ai pas eu l'occasion de tester, ce que je sais c'est que :

- L'inscription marche (j'ai juste réadapté un ou deux truc, principalement les champs crées par l'inscriptions, tel que 'gmlevel', ect...), le compte apparaît dans la table auth. C'est juste la connexion au site qui marche pas, je soupçonne une erreur de cryptage.
j'ai regarder le criptage est bon! fait une variable avec le criptage et verifie si il est bon

Retourner en haut Accueil