kikoo
 
 

Installation : T-Night Intégration du chat dans votre site : alban, Merlin59 Bugs : aviondechasse, 2 utilisateurs anonymes et 2 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

intégration xoops

 
n°638
kitusais
profil
Posté le 11-07-2008 à 13:13:12  answer
 

bonjour à tous,
Je me permet d'ouvrir un nouveau sujet pour vous harceler ( :lol: ) 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 :
  1. <?php
  2.  
  3.  
  4.     $LOGIN_SUCCESS = 0;
  5.     $LOGIN_ERROR = 3;
  6.     //récupération des identifiants transmis par l'url d'identification  
  7.     $username = $HTTP_GET_VARS['username'];
  8.     $password = $HTTP_GET_VARS['password'];
  9.      include 'mainfile.php';
  10.  
  11.        $password= md5($password);
  12.    $requete = "SELECT * FROM `xoops_users` WHERE uname='$username' AND pass='$password'";
  13.        $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
n°639
kitusais
profil
Posté le 11-07-2008 à 13:23:14  answer
 

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
n°640
alban
Admin / helpeur
profil
Posté le 11-07-2008 à 14:31:52  answer
 

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
n°641
kitusais
profil
Posté le 11-07-2008 à 14:40:04  answer
 

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 :
  1. 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
n°642
alban
Admin / helpeur
profil
Posté le 11-07-2008 à 14:54:19  answer
 

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
n°643
kitusais
profil
Posté le 11-07-2008 à 15:23:15  answer
 

re,
ok, mais je n'ai deseperement rien qui s'affiche après les =

n°644
alban
Admin / helpeur
profil
Posté le 11-07-2008 à 15:33:31  answer
 

$_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
n°645
kitusais
profil
Posté le 12-07-2008 à 13:58:07  answer
 

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)

n°647
speedyber
Modérateur Kikoochat ;-)
profil
Posté le 13-07-2008 à 09:16:16  answer
 

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 :
  1. <?php
  2. define("IN_LOGIN", true);
  3. define('IN_PHPBB', true);
  4. $phpbb_root_path = './';
  5. include($phpbb_root_path . 'extension.inc');
  6. include($phpbb_root_path . 'common.'.$phpEx);
  7. $LOGIN_SUCCESS = 0;
  8. $LOGIN_PASSWD_ERROR = 1;
  9. $LOGIN_NICK_EXIST = 2;
  10. $LOGIN_ERROR = 3;
  11. $LOGIN_ERROR_NOUSERID = 4;
  12. $LOGIN_SUCCESS_ADMIN = 5;
  13. $LOGIN_NOT_ALLOW_GUEST = 6;
  14. $LOGIN_USER_BANED = 7;
  15. $username = isset($HTTP_GET_VARS['username']) ? trim(htmlspecialchars($HTTP_GET_VARS['username'])) : '';
  16. $username = substr(str_replace("\\'", "'", $username), 0, 25);
  17. $username = str_replace("'", "\\'", $username);
  18. $password = isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '';
  19. $md5 = isset($HTTP_GET_VARS['md5']) ? $HTTP_GET_VARS['md5'] : '';
  20. $sql = "SELECT user_id, username, user_password, user_active, user_level
  21. FROM " . USERS_TABLE . "
  22. WHERE username = '" . str_replace("\\'", "''", $username) . "'";
  23. // for userid to login  
  24. //$sql = "SELECT user_password, user_active, user_level FROM " . USERS_TABLE . " WHERE user_id = " . $username;
  25. if ( !($result = $db->sql_query($sql)) )
  26. {
  27. echo $LOGIN_ERROR;
  28. exit;
  29. }
  30. if( $row = $db->sql_fetchrow($result) )
  31. {
  32. if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
  33. {
  34.   echo $LOGIN_ERROR;
  35.   exit;
  36. }
  37. else
  38.    {
  39.       //$pwd = ($md5 == "true" ) ? $password : md5($password);  
  40.       //$pwd = $password;  
  41. if ( $password == $row['user_password'] && $row['user_active'] )
  42.       {
  43.          if($row['user_level'] == ADMIN){
  44.             echo $LOGIN_SUCCESS_ADMIN;
  45.          }else{
  46.             echo $LOGIN_SUCCESS;
  47.          }
  48.          exit;
  49.       }
  50.       else
  51.       {
  52.          if ( md5($password) == $row['user_password'] && $row['user_active'] )
  53.          {
  54.             if($row['user_level'] == ADMIN){
  55.                echo $LOGIN_SUCCESS_ADMIN;
  56.             }else{
  57.                echo $LOGIN_SUCCESS;
  58.             }
  59.             exit;     
  60.      
  61.          }
  62.          else
  63.          {
  64.             echo $LOGIN_PASSWD_ERROR;
  65.             exit;
  66.          }
  67.       }
  68.    }
  69. }
  70. else
  71. {
  72. echo $LOGIN_ERROR_NOUSERID;
  73. exit;
  74. }
  75. ?>



---------------
Pas de support en MP, ils ne seront pas pris en considération, merci !
n°649
kitusais
profil
Posté le 13-07-2008 à 11:01:42  answer
 

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  :??:  :sarcastic:

n°650
speedyber
Modérateur Kikoochat ;-)
profil
Posté le 14-07-2008 à 19:43:48  answer
 

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 :
  1. <?php
  2. include($root_path . 'extension.inc');
  3. include($root_path . 'common.'.$phpEx);
  4. $LOGIN_SUCCESS = 0;
  5. $LOGIN_PASSWD_ERROR = 1;
  6. $LOGIN_NICK_EXIST = 2;
  7. $LOGIN_ERROR = 3;
  8. $LOGIN_ERROR_NOUSERID = 4;
  9. $LOGIN_SUCCESS_ADMIN = 5;
  10. $LOGIN_NOT_ALLOW_GUEST = 6;
  11. $LOGIN_USER_BANED = 7;
  12. $username = isset($HTTP_GET_VARS['username']) ? trim(htmlspecialchars($HTTP_GET_VARS['username'])) : '';
  13. $username = substr(str_replace("\\'", "'", $username), 0, 25);
  14. $username = str_replace("'", "\\'", $username);
  15. $password = isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '';
  16. $md5 = isset($HTTP_GET_VARS['md5']) ? $HTTP_GET_VARS['md5'] : '';
  17. $sql = "SELECT user_id, username, user_password, user_active, user_level
  18. FROM " . USERS_TABLE . "
  19. WHERE username = '" . str_replace("\\'", "''", $username) . "'";
  20. // for userid to login  
  21. //$sql = "SELECT user_password, user_active, user_level FROM " . USERS_TABLE . " WHERE user_id = " . $username;
  22. if ( !($result = $db->sql_query($sql)) )
  23. {
  24. echo $LOGIN_ERROR;
  25. exit;
  26. }
  27. if( $row = $db->sql_fetchrow($result) )
  28. {
  29. if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
  30. {
  31.   echo $LOGIN_ERROR;
  32.   exit;
  33. }
  34. else
  35.    {
  36.       //$pwd = ($md5 == "true" ) ? $password : md5($password);  
  37.       //$pwd = $password;  
  38. if ( $password == $row['user_password'] && $row['user_active'] )
  39.       {
  40.          if($row['user_level'] == ADMIN){
  41.             echo $LOGIN_SUCCESS_ADMIN;
  42.          }else{
  43.             echo $LOGIN_SUCCESS;
  44.          }
  45.          exit;
  46.       }
  47.       else
  48.       {
  49.          if ( md5($password) == $row['user_password'] && $row['user_active'] )
  50.          {
  51.             if($row['user_level'] == ADMIN){
  52.                echo $LOGIN_SUCCESS_ADMIN;
  53.             }else{
  54.                echo $LOGIN_SUCCESS;
  55.             }
  56.             exit;     
  57.      
  58.          }
  59.          else
  60.          {
  61.             echo $LOGIN_PASSWD_ERROR;
  62.             exit;
  63.          }
  64.       }
  65.    }
  66. }
  67. else
  68. {
  69. echo $LOGIN_ERROR_NOUSERID;
  70. exit;
  71. }
  72. ?>


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 !
n°665
alban
Admin / helpeur
profil
Posté le 17-07-2008 à 12:56:49  answer
 

mod dispo ici http://www.kikoochat.com/forum/kik [...] t_57_1.htm


---------------

http://alban7.labrute.com
---------------------------------------------
Souvent présent sur l'entre-aide-en-live

Aller à :
Ajouter une réponse
 

 
Copyright 2001 / 2008 Kikoochat ® Tous droits réservés | Une solution proposée par Clicavenue ®