| |
» » Installation : T-Night Intégration du chat dans votre site : alban, Merlin59 Bugs : aviondechasse, 2 utilisateurs anonymes et 2 utilisateurs inconnus kitusais | bonjour à tous,
Je me permet d'ouvrir un nouveau sujet pour vous harceler ( ) quand à l'intégration de kikoochat dans la bdd de xoops.
Voilà mon fichier qui répond 0 lors du test si j'entre un pseudo et pass correcte et 3 si je met n'importe quoi
Code :
- <?php
-
-
- $LOGIN_SUCCESS = 0;
- $LOGIN_ERROR = 3;
- //récupération des identifiants transmis par l'url d'identification
- $username = $HTTP_GET_VARS['username'];
- $password = $HTTP_GET_VARS['password'];
- include 'mainfile.php';
-
- $password= md5($password);
- $requete = "SELECT * FROM `xoops_users` WHERE uname='$username' AND pass='$password'";
- $result = mysql_query($requete);
|
mainfile.php correspond au fichier pour se connecter à la base de données, présenté ici comme étant à la racine du site.
xoops_users correspond aux utilisateurs, il faut bien entendu changer xoops par le bon préfixe utilisé.
uname = le pseudo des utilisateur présent dans xoops_user et pass, le mot de passe... Message édité par kitusais le 11-07-2008 à 13:33:37
|
kitusais | Si cela peut en aider certains... reste à voir la suite...
Mais un point m'échappe.
Il est indiqué dans le tuto qu'il faut créer un fichier.php (celui de mon post précédent), ce fichier récupère les login et passe dans la bdd.
Ensuite, il faut modifier le code du chat et éditer la source...
Ma question comment cela pourrait fonctionner alors que le lien entre le premier fichier et le code du chat ne sont pas liés??? Message édité par kitusais le 11-07-2008 à 14:07:07
|
alban Admin / helpeur | alors en faites, le fichier dont tu viens de mettre la source, est appeller par kikoochat par le chat grace aux variable init_user et init_password qui doivent etre renseignés dans le code source de ta page où il y a ton chat. Ses 2 valeurs doivent etre remplie avec les informations de sessions de ton site par example pour que ca mette les données de l'utilisateur qui visualise la page ( j'espere que j'ai été clair ) ---------------
http://alban7.labrute.com
---------------------------------------------
Souvent présent sur l'entre-aide-en-live
|
kitusais | re,
ok, en tout cas, ce fichier fonctionne.
Reste que pour la suite je ne vois pas vraiment quoi mettre d'autre que ça : Code :
- s&init_user=<?php echo $_SESSION['uname'] ; ?>&init_password=<?php echo $_SESSION['pass'] ; ?>">
|
et ça ne fonctionne pas bien entendu, le code source n'affiche rien après le = de ces deux loustics
cela est-il censé afficher quelque chose si le mot de pass est codé?? Message édité par kitusais le 11-07-2008 à 14:43:20
|
alban Admin / helpeur | oui il doit afficher le pass crypté, par contre dans le premier fichier, il faudra penser a verifié sur le mot de pass crypté et non en clair. ---------------
http://alban7.labrute.com
---------------------------------------------
Souvent présent sur l'entre-aide-en-live
|
kitusais | re,
ok, mais je n'ai deseperement rien qui s'affiche après les = |
alban Admin / helpeur | $_SESSION['uname'] et l'autre pour le pass ... ne doivent pas etre les bonne variables qui retourne le nom d'utilisateur courant et son mot de passe.
essayer de demander sur le support de xoops comment avoir ses valeurs. ---------------
http://alban7.labrute.com
---------------------------------------------
Souvent présent sur l'entre-aide-en-live
|
kitusais | re,
bon, apparament ce n'est pas possible, seul l'iud et le numero de groupe semblent pouvoir être liés...
Ce qui laisse donc supposer , qu'en l'état actuel, ce chat ne peut être lié à la bdd (sniff) |
speedyber Modérateur Kikoochat ;-) | kitusais a écrit :
re,
bon, apparament ce n'est pas possible, seul l'iud et le numero de groupe semblent pouvoir être liés...
Ce qui laisse donc supposer , qu'en l'état actuel, ce chat ne peut être lié à la bdd (sniff)
|
Bonjour,
ce chat peut être lié à n'importe quelle base de données bien sur
Xxops étant un forum php as tu essayé le mod pour forum phpbb ?
au cas ou essayes ce code en dessous qui serait le fichier verif.php par exemple
en modifiant ce qui doit l'être ( les includes etc..) ainsi que les noms de variable
ce code te permettrait de connecter le chat à ta base de données en faisant la vérif
il faudra bien renseigner l'url d'authentification dans l'onglet "votre chat"
et je ne vois pas pourquoi ça ne fonctionnerait pas
je me suis déjà servi de cette base pour résoudre bien des cas déjà, juste en l'adaptant
ça ne te coute rien de prendre 1h à le regarder et à tester !
Code :
- <?php
- define("IN_LOGIN", true);
- define('IN_PHPBB', true);
- $phpbb_root_path = './';
- include($phpbb_root_path . 'extension.inc');
- include($phpbb_root_path . 'common.'.$phpEx);
- $LOGIN_SUCCESS = 0;
- $LOGIN_PASSWD_ERROR = 1;
- $LOGIN_NICK_EXIST = 2;
- $LOGIN_ERROR = 3;
- $LOGIN_ERROR_NOUSERID = 4;
- $LOGIN_SUCCESS_ADMIN = 5;
- $LOGIN_NOT_ALLOW_GUEST = 6;
- $LOGIN_USER_BANED = 7;
- $username = isset($HTTP_GET_VARS['username']) ? trim(htmlspecialchars($HTTP_GET_VARS['username'])) : '';
- $username = substr(str_replace("\\'", "'", $username), 0, 25);
- $username = str_replace("'", "\\'", $username);
- $password = isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '';
- $md5 = isset($HTTP_GET_VARS['md5']) ? $HTTP_GET_VARS['md5'] : '';
- $sql = "SELECT user_id, username, user_password, user_active, user_level
- FROM " . USERS_TABLE . "
- WHERE username = '" . str_replace("\\'", "''", $username) . "'";
- // for userid to login
- //$sql = "SELECT user_password, user_active, user_level FROM " . USERS_TABLE . " WHERE user_id = " . $username;
- if ( !($result = $db->sql_query($sql)) )
- {
- echo $LOGIN_ERROR;
- exit;
- }
- if( $row = $db->sql_fetchrow($result) )
- {
- if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
- {
- echo $LOGIN_ERROR;
- exit;
- }
- else
- {
- //$pwd = ($md5 == "true" ) ? $password : md5($password);
- //$pwd = $password;
- if ( $password == $row['user_password'] && $row['user_active'] )
- {
- if($row['user_level'] == ADMIN){
- echo $LOGIN_SUCCESS_ADMIN;
- }else{
- echo $LOGIN_SUCCESS;
- }
- exit;
- }
- else
- {
- if ( md5($password) == $row['user_password'] && $row['user_active'] )
- {
- if($row['user_level'] == ADMIN){
- echo $LOGIN_SUCCESS_ADMIN;
- }else{
- echo $LOGIN_SUCCESS;
- }
- exit;
-
- }
- else
- {
- echo $LOGIN_PASSWD_ERROR;
- exit;
- }
- }
- }
- }
- else
- {
- echo $LOGIN_ERROR_NOUSERID;
- exit;
- }
- ?>
|
---------------
Pas de support en MP, ils ne seront pas pris en considération, merci !
|
kitusais | re,
tout d'abord, merci pour ta réponse.
Ensuite, si je te comprend bien, en prenant cette version de fichier pour faire le verif.php cela prendrait en compte le userid contrairement à l'autre verif.php donné dans les tutos qui lui va directement comparer les pseudos et mots de passes, c'est bien cela???
Néanmoins, ne connaissant pas vraiment phpbb, je ne sais pas à quoi correspond ce qui est inclut dans ce fichier |
speedyber Modérateur Kikoochat ;-) | bonjour,
oui, ce code vérifie les pseudo et mot de passe et te connecte à ta bdd
ensuite la connection au chat se fait avec le code kikoo et l'url d'authentification
malheureusement je ne vais pas avoir de temps cette semaine mais avec cette base et les tuto de Xoops tu devrais pouvoir y arriver.. Je ne connais pas Xoops mais si je ne me trompe c'est un dérivé de phpnuke ? donc très proche de phpbb!
il fonctionne donc avec le couple php/mysql mais pour résumer ces 2 fichiers include servent et sont necessaire lors d'un ajout de nouvelle page sous php
extension.inc est un fichier de sécurité pour éviter les hackeurs ( tu dois avoir la correspondance chez xoops) peut etre le même
common.php est un fichier que tu dois forcément avoir aussi. Il est indispensable en ecriture php il contient et regroupe des informations et fonctions importantes de ton forum, des variables etc. il est commun à tous les forums ou blogs écrits en php. ( ce n'est qu'un résumé, c'est bien plus que ça) donc tu dois l'include, ça te sera très utile et évitera bien des bidouilles et désagréments
pour le reste il te suffit de modifier les paths et les noms de variables
tu peux dégraisser ce code aussi et ne garder que l'essentiel ou t'en servir comme modèle
c'est forcément le même principe php/mysql
Code :
- <?php
- include($root_path . 'extension.inc');
- include($root_path . 'common.'.$phpEx);
- $LOGIN_SUCCESS = 0;
- $LOGIN_PASSWD_ERROR = 1;
- $LOGIN_NICK_EXIST = 2;
- $LOGIN_ERROR = 3;
- $LOGIN_ERROR_NOUSERID = 4;
- $LOGIN_SUCCESS_ADMIN = 5;
- $LOGIN_NOT_ALLOW_GUEST = 6;
- $LOGIN_USER_BANED = 7;
- $username = isset($HTTP_GET_VARS['username']) ? trim(htmlspecialchars($HTTP_GET_VARS['username'])) : '';
- $username = substr(str_replace("\\'", "'", $username), 0, 25);
- $username = str_replace("'", "\\'", $username);
- $password = isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '';
- $md5 = isset($HTTP_GET_VARS['md5']) ? $HTTP_GET_VARS['md5'] : '';
- $sql = "SELECT user_id, username, user_password, user_active, user_level
- FROM " . USERS_TABLE . "
- WHERE username = '" . str_replace("\\'", "''", $username) . "'";
- // for userid to login
- //$sql = "SELECT user_password, user_active, user_level FROM " . USERS_TABLE . " WHERE user_id = " . $username;
- if ( !($result = $db->sql_query($sql)) )
- {
- echo $LOGIN_ERROR;
- exit;
- }
- if( $row = $db->sql_fetchrow($result) )
- {
- if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
- {
- echo $LOGIN_ERROR;
- exit;
- }
- else
- {
- //$pwd = ($md5 == "true" ) ? $password : md5($password);
- //$pwd = $password;
- if ( $password == $row['user_password'] && $row['user_active'] )
- {
- if($row['user_level'] == ADMIN){
- echo $LOGIN_SUCCESS_ADMIN;
- }else{
- echo $LOGIN_SUCCESS;
- }
- exit;
- }
- else
- {
- if ( md5($password) == $row['user_password'] && $row['user_active'] )
- {
- if($row['user_level'] == ADMIN){
- echo $LOGIN_SUCCESS_ADMIN;
- }else{
- echo $LOGIN_SUCCESS;
- }
- exit;
-
- }
- else
- {
- echo $LOGIN_PASSWD_ERROR;
- exit;
- }
- }
- }
- }
- else
- {
- echo $LOGIN_ERROR_NOUSERID;
- exit;
- }
- ?>
|
Message édité par speedyber le 14-07-2008 à 20:11:23 ---------------
Pas de support en MP, ils ne seront pas pris en considération, merci !
|
» »
|
|