close× Call Us +49 (1805) 01 29 59

SGI Fusion
Thread Author: pagemaster
Thread ID: 2517
Thread Info
Es gibt 9 Beiträge zu diesem Thema, und es wurde 3956 mal angesehen.
Wer ist hier? 1 Gäste
 Thema drucken
php Fusion 7 und X7chat2 passwortprobleme
pagemaster
Hallo liebe gemeinde

Ich hab mich nun 2 tage mit der installation von x7chat2
und dem userabgleich dafür beschäftigt.

Mein problem ist das ich ohne probleme in den chat einloggen kann ohne passwort abfrage.
Nun stelle ich im Profil von x7chat meine daten ein und muss zur kontrolle mein passwort dort angeben.

Nun passiert folgendes:
In der datenbank wird mein passwort überschrieben mit einem anderen.
Nun da ich kein profi bin hab ich nachgelesen und weiss nun das php fusion die passwörter doppelt md5 verschlüsselt.
dies ist eine super sache.

Aber kann das sein das der chat nur einfach md5 verschlüsselt und somit das passwort in der datenbank überschreibt???
Denn danach komm ich nicht mehr auf meine php fusion7 seite bzw kann mich nicht einloggen weils passwort nicht mehr stimmt.

Kennt jemand das problem und weiss jemand wie ich das umgehen oder behebn kann?

Für die anbindung gibt nen sourcecode der geladen wird der so aussieht:


<?PHP

   // This file holds data on authentication
   $auth_ucookie = "X7C2U";
   $auth_pcookie = "X7C2P";
   $auth_register_link = "../register.php";
   $auth_disable_guest = false;
   
   // Include the phpfusion cooookie
   include("../config.php");
   //@include("../maincore.php");
   // Init a new DB session to grab the cookie name
   $phpfusion = new x7chat_db($db_host,$db_user,$db_pass,$db_name);
   
   session_start();
   // This next line of code is straight from e107
   @list($uid, $upw) = (@$_COOKIE['fusion_user'] ? @explode(".", $_COOKIE['fusion_user']) : @explode(".", $_SESSION['fusion_user']));
      
   if(@$uid>0){
      // They are logged into phpfusion, do a pass comparison
      $query = $phpfusion->DoQuery("SELECT user_name,user_password,user_level FROM {$db_prefix}users WHERE user_id={$uid}");
      $row = $phpfusion->Do_Fetch_row($query);
         $_COOKIE[$auth_ucookie] = $row[0];
         $_COOKIE[$auth_pcookie] = $row[1];
   }
   
   function auth_encrypt($data){
      return md5($data);
   }
   
   function auth_getpass($auth_ucookie){
      GLOBAL $db,$prefix,$phpfusion,$db_prefix,$g_default_settings,$txt,$x7c,$uid;
      $query = $phpfusion->DoQuery("SELECT user_password FROM {$db_prefix}users WHERE user_name='".$_COOKIE[$auth_ucookie]."'");
      $password = $phpfusion->Do_Fetch_Row($query);
      
      if($password[0] != ""){   
         $query = $db->DoQuery("SELECT * FROM {$prefix}users WHERE username='".$_COOKIE[$auth_ucookie]."'");
         $row = $db->Do_Fetch_Row($query);
         if($row[0] == ""){
            // Create an X7 Chat account for them.
            $query = $phpfusion->DoQuery("SELECT user_email,user_level FROM {$db_prefix}users WHERE user_id={$uid}");
            $row = $phpfusion->Do_Fetch_row($query);
               $email = $row[0];
               $userlevel = $row[1];
            
            $time = time();
            $ip = $_SERVER['REMOTE_ADDR'];
            $set_userlevel = "Registered User";
            if($userlevel==103) $set_userlevel = "Administrator";
            $db->DoQuery("INSERT INTO {$prefix}users (id,username,password,email,status,user_group,time,settings,hideemail,ip) VALUES('0','$_COOKIE[$auth_ucookie]','$password[0]','{$email}','$txt[150]','{$set_userlevel}','$time','{$g_default_settings}','0','$ip')");
         }
      }
      
      return $password[0];
   }
   
   function change_pass($user,$newpass){
      GLOBAL $phpfusion,$db_prefix;
      $newpass = auth_encrypt($newpass);
      $phpfusion->DoQuery("UPDATE {$db_prefix}users SET user_password='$newpass' WHERE user_name='$user'");
   }
   

?>
 
SC-Ad-Bot
 
emblinux
Na dann pass doch einfach den X7Chat dahingehend an, das du dort auch doppelt md5 verschlüsselst.

Dazu musst du z.B. auch folgenden Code anpassen.

vorher:

  function auth_encrypt($data){
      return md5($data);
   }


nacher:

  function auth_encrypt($data){
      return md5(md5($data));
   }


Ich weiß jetzt natürlich nicht, wo du noch anpassen musst, da schau einfach mal selber nach.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
pagemaster
Okay das scheint zu funktionieren.

Also für alle die den chat x7chat2 nutzen wollen in php fusion 7.

Dort muss oben genannter code geändert werden für eine doppelte md5 verschlüsselung ,
ansonsten wird stets das passwort im cms geändert.

den code findet ihr in der
installationspfad>>lib>>auth>>php-fusion6.php

Vielen dank an emblinux
scheinbar ist dies die einzigste abfrage.

Weiterhin hab ich das problem das der chat ne uploadfuntion besitzt , aber die bilder wie zb avatare falsche chmodrechte bekommen um sie anzeigen zu lassen.
ich muss sie immer manuell per ftp umsetzen... hast du dafür auch so ne tolle lösung???

rechte für den uploadordner sind auf 777 gesetzt.
 
emblinux
Dazu müsste ich wissen, wie die upload-Funktion aussieht.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
pagemaster

<?PHP
   // This file handles uploads of avatars
   //      * Returns 1 if avatar uploads are disabled
   //      * Returns 2 if avatar is to large
   //      * Returns 3 if the avatar is not an image type
   //      * Returns 4 if the avatar upload directory is not writeable
   //      * Returns URL to avatar is everythign went ok
   function handle_uploaded_avatar(){
      global $x7c, $x7s;
      
      // See if avatar uploads are enabled
      if($x7c->settings['enable_avatar_uploads'] == 1){
         
         // Make sure the directory is writeable
         if(!is_writable($x7c->settings['uploads_path']))
            return 4;
      
         // See if the file is within the correct size limitations
         if($_FILES['avatar']['size'] > $x7c->settings['avatar_max_size']){
            // To large return 2
            return 2;
         }else{
         
            // See if the file is a correct image type, either gif, png or jpg
            if($_FILES['avatar']['type'] == "image/gif"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.gif");
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.gif";
            }elseif($_FILES['avatar']['type'] == "image/png"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.png");
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.png";
            }elseif($_FILES['avatar']['type'] == "image/jpeg" || $_FILES['avatar']['type'] == "image/pjpeg"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.jpeg");
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.jpeg";
            }else{
               // Incorrect type, return 3
               return 3;
            }
         
         }
         
      }else{
         // They are not so return 1
         return 1;
      }
   
   }
   
   // This function removes a users other avatars
   function remove_other_avatars(){
      global $x7s, $x7c;
      
      // Gif ones
      if(file_exists("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.gif"))
         unlink("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.gif");
      
      // PNG ones
      if(file_exists("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.png"))
         unlink("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.png");
      
      // JPG ones
      if(file_exists("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.jpeg"))
         unlink("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.jpeg");
      
   }
   
?>
 
emblinux
Dazu muss die Funktion handle_uploaded_avatar angepasst werden.


   function handle_uploaded_avatar(){
      global $x7c, $x7s;
     
      // See if avatar uploads are enabled
      if($x7c->settings['enable_avatar_uploads'] == 1){
         
         // Make sure the directory is writeable
         if(!is_writable($x7c->settings['uploads_path']))
            return 4;
     
         // See if the file is within the correct size limitations
         if($_FILES['avatar']['size'] > $x7c->settings['avatar_max_size']){
            // To large return 2
            return 2;
         }else{
         
            // See if the file is a correct image type, either gif, png or jpg
            if($_FILES['avatar']['type'] == "image/gif"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.gif");
               chmod("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.gif",0644);
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.gif";
            }elseif($_FILES['avatar']['type'] == "image/png"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.png");
               chmod("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.png",0644);
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.png";
            }elseif($_FILES['avatar']['type'] == "image/jpeg" || $_FILES['avatar']['type'] == "image/pjpeg"){
               remove_other_avatars();
               move_uploaded_file($_FILES['avatar']['tmp_name'],"{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.jpg");
               chmod("{$x7c->settings['uploads_path']}/avatar_{$x7s->username}.jpg",0644);
               return "{$x7c->settings['uploads_url']}/avatar_{$x7s->username}.jpg";
            }else{
               // Incorrect type, return 3
               return 3;
            }
         
         }
         
      }else{
         // They are not so return 1
         return 1;
      }
   
   }


Dann sollte es eigentlich funktionieren.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
sysmonologie
Guten Abend.

Leider hänge Ich bei folgenden Problem; Userabgleich von x7chat2

Nutze Phpfusion v2.03

Bitte um Hilfe, lieben dank Mark

Chat liegt im Ordner /html/x7chat2



<?PHP
///////////////////////////////////////////////////////////////
//
//      X7 Chat Version 2.0.4
//      Released June 16, 2006
//      Copyright (c) 2004-2006 By the X7 Group
//      Website: http://www.x7chat.com
//
//      This program is free software.  You may
//      modify and/or redistribute it under the
//      terms of the included license as written 
//      and published by the X7 Group.
// 
//      By using this software you agree to the        
//      terms and conditions set forth in the
//      enclosed file "license.txt".  If you did
//      not recieve the file "license.txt" please
//      visit our website and obtain an official
//      copy of X7 Chat.
//
//      Removing this copyright and/or any other
//      X7 Group or X7 Chat copyright from any
//      of the files included in this distribution
//      is forbidden and doing so will terminate
//      your right to use this software.
//   
////////////////////////////////////////////////////////////////EOH
?><?PHP

   // This file holds data on authentication
   $auth_ucookie = "X7C2U";
   $auth_pcookie = "X7C2P";
   $auth_register_link = "/register.php";
   $auth_disable_guest = true;
   
   // Include the phpfusion cooookie
   include("../config.php");
   //@include("../maincore.php");
   // Init a new DB session to grab the cookie name
   $phpfusion = new x7chat_db($db_host,$db_user,$db_pass,$db_name);
   
   session_start();
   // This next line of code is straight from e107
   @list($uid, $upw) = (@$_COOKIE['fusionD4m43_users'] ? @explode(".", $_COOKIE['fusionD4m43_users']) : @explode(".", $_SESSION['fusionD4m43_users']));
      
   if(@$uid>0){
      // They are logged into phpfusion, do a pass comparison
      $query = $phpfusion->DoQuery("SELECT user_name,user_password,user_level FROM {$db_prefix}users WHERE user_id={$uid}");
      $row = $phpfusion->Do_Fetch_row($query);
         $_COOKIE[$auth_ucookie] = $row[0];
         $_COOKIE[$auth_pcookie] = $row[1];
   }
   
   function auth_encrypt($data){
      return md5(md5($data));
   }
   
   function auth_getpass($auth_ucookie){
      GLOBAL $db,$prefix,$phpfusion,$db_prefix,$g_default_settings,$txt,$x7c,$uid;
      $query = $phpfusion->DoQuery("SELECT user_password FROM {$db_prefix}users WHERE user_name='".$_COOKIE[$auth_ucookie]."'");
      $password = $phpfusion->Do_Fetch_Row($query);
      
      if($password[0] != ""){   
         $query = $db->DoQuery("SELECT * FROM {$prefix}users WHERE username='".$_COOKIE[$auth_ucookie]."'");
         $row = $db->Do_Fetch_Row($query);
         if($row[0] == ""){
            // Create an X7 Chat account for them.
            $query = $phpfusion->DoQuery("SELECT user_email,user_level FROM {$db_prefix}users WHERE user_id={$uid}");
            $row = $phpfusion->Do_Fetch_row($query);
               $email = $row[0];
               $userlevel = $row[1];
            
            $time = time();
            $ip = $_SERVER['REMOTE_ADDR'];
            $set_userlevel = "Registered User";
            if($userlevel==103) $set_userlevel = "Administrator";
            $db->DoQuery("INSERT INTO {$prefix}users (id,username,password,email,status,user_group,time,settings,hideemail,ip) VALUES('0','$_COOKIE[$auth_ucookie]','$password[0]','{$email}','$txt[150]','{$set_userlevel}','$time','{$g_default_settings}','0','$ip')");
         }
      }
      
      return $password[0];
   }
   
   function change_pass($user,$newpass){
      GLOBAL $phpfusion,$db_prefix;
      $newpass = auth_encrypt($newpass);
      $phpfusion->DoQuery("UPDATE {$db_prefix}users SET user_password='$newpass' WHERE user_name='$user'");
   }
   

?>

Bearbeitet von sysmonologie am 28.11.2011 00000011 01:39
da Mark ..verstehst spass|al.at?
 
dasboese
moin moin
ick wees zwar net ob dat hier rein passt abba ich werde es mal versuchen ick hab nu den x7 chat und möchte gern ein player einbauen nur wees ick net wie das funzen loss bzw wie und wo ich das einbaun soll hoffe ihr könnt mir helfen

mfg DasBoese
Bearbeitet von dasboese am 08.02.2012 00000002 16:07
 
DeeoNe
@dasboese: Im Dialeckt liest sich das sehr bescheiden, du willst ja auch eine verständliche antwort.

Ich habe im bereich PHP Fusion noch nichts vom x7Chat gehört und gehe davon mal aus das es ein Eigenständiger Chat Script ist und rate dir mal in einem x7Chat Forum nach zu hacken, vieleicht gibts darüber auch schon was.
Bearbeitet von DeeoNe am 08.02.2012 00000002 16:46
www.deeone.de/images/linkus/deeonde1.png
 
Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
Fusion Board Spalten Problem Infusionen 4 05.11.2019 00000011 07:48
Score System unter PHP-Fusion 7.02.07 Infusionen 16 07.08.2019 00000008 14:09
PHP Fusion 7 User Photogallery Allgemeine Support Fragen 3 26.04.2019 00000004 06:50
Security für PHP Fusion 7 ? Allgemeine Support Fragen 10 24.03.2017 00000003 06:53
PHP-Fusion V9 RC3 Allgemeine Diskussionen 8 17.06.2016 00000006 21:50
HarlekinPower