Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[1.4] Externer Login
#1
Ich weiß, ihr werdet die Frage nicht mehr hören können aber ich stell sie trotzdem weil sie nicht direkt mit einem Externen Login zu tun hat.
Ich habe eine Seite mit einem selbst gecodeten Userbereich und der hat bis jetzt mit einem eigenen Login gearbeitet. Aber jetzt will ich auf die Daten des MyBB zugreifen. Ich habe noch vom 1.2.13 oder so einen Login und habe mir gedacht, angeblich hat sich ja eh nix beim Login geändert, ich kann einfach das nehmen. FALSCH!
Es funktioniert nicht. Ich bekomme immer die Meldung das Benutzername/Passwort falsch sind und weiters einen Parsingerror.

Mein Code ist wie folgt:
PHP-Code:
<?php 
session_start
();

function 
salt_password($password$salt
{
     return 
md5(md5($salt).$password);
}

if(isset(
$_SESSION['username'])) {
$titel "Schon eingeloggt";
$root "";
$navi "main";

include(
$root."header.php");
    echo 
'
        <div class="hinweis">Du bist bereits eingeloggt.<br />
        Wenn du zum Userbereich willst, dann klicke <a href="user/">&raquo;hier</a>.<br />
        Wenn du zur Startsetie willst, dann klicke <a href="index.php">&raquo;hier</a>.
        </div>
    '
;

} else {

//mySQL-Daten werden includet
include('inc/config.php');

$prefix "mybb";

//Verbindung zur DB wird hergestellt
$connect mysql_connect($host,$user,$password) or die ("<h1>Verbindung fehlgeschlagen! &Uuml;berprüfe ob alle mySQL-Daten richtig eingetragen sind, oder wende dich an den Webmaster.</h1>");
    
//Datenbank wird ausgewählt
mysql_select_db($database$connect);

$username $_POST["username"]; 
$password $_POST["password"]; 

$query mysql_query("SELECT * FROM ".$prefix."users WHERE username = '$username' LIMIT 1"); 
$row mysql_fetch_object($query); 

$salt $row->salt;

$titel "Einloggen";
$root "";
$navi "main";
include(
$root."header.php");

if(
salt_password(md5($password), $row->salt) == $row->password) { 
    
$_SESSION['username'] = $username;
    
$_SESSION['rang'] = $row->usergroup;
    
$_SESSION['id'] = $row->uid;
    
    
mysql_query("UPDATE ".$prefix." SET lastlogin = ".time()." WHERE username = '".$_SESSION['username']."'");
    
    echo 
'<div class="hinweis">Du wurdest erfolgreich eingeloggt. <a href="user/index.php">&raquo; zur &Uuml;bersicht</a></div>';
} else { 
    echo 
'<div class="hinweis">Benutzername und/oder Passwort waren falsch. <a href="login.php">&raquo; Zur&uuml;ck zum Login</a></div>'
}

include(
'footer.php');
?>

Und der Parseerror ist dieser:
Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\pokecamp\loggedin.php on line 39
Line 39 nochmal extra:
PHP-Code:
$row mysql_fetch_object($query); 

Leider weiß ich beim besten Willen nicht mehr weiter. Es wäre schön wenn ihr mir da helfen könntet.

mfg. Pokecamp
http://nopaste.ch/2afbf2697eff153.html
Externe Anzeige der Bewertungen von myBB...
Wer den Code will, PN me...
Zitieren
#2
Die inc/config.php hat sich geändert. Nun musst du die Daten, die du daraus beziehst, anders definieren.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Öhhhm...
Mein Code sieht jetzt so aus:
PHP-Code:
<?php 
session_start
();

function 
salt_password($password$salt
{
     return 
md5(md5($salt).$password);
}

if(isset(
$_SESSION['username'])) {
$titel "Schon eingeloggt";
$root "";
$navi "main";

include(
$root."header.php");
    echo 
'
        <div class="hinweis">Du bist bereits eingeloggt.<br />
        Wenn du zum Userbereich willst, dann klicke <a href="user/">&raquo;hier</a>.<br />
        Wenn du zur Startsetie willst, dann klicke <a href="index.php">&raquo;hier</a>.
        </div>
    '
;

} else {

//mySQL-Daten werden includet
include('inc/config.php');
include(
'forum/inc/config.php');

$prefix "mybb";

//Verbindung zur DB wird hergestellt
$connect mysql_connect($config['database']['hostname'],$config['database']['username'],$config['database']['password']) or die ("<h1>Verbindung fehlgeschlagen! &Uuml;berprüfe ob alle mySQL-Daten richtig eingetragen sind, oder wende dich an den Webmaster.</h1>");
    
//Datenbank wird ausgewählt
mysql_select_db($config['database']['database'], $connect);

$username $_POST["username"]; 
$password $_POST["password"]; 

$query mysql_query("SELECT * FROM ".$prefix."users WHERE username = '$username' LIMIT 1"); 
$row mysql_fetch_object($query); 

$salt $row->salt;

$titel "Einloggen";
$root "";
$navi "main";
include(
$root."header.php");

if(
salt_password(md5($password), $row->salt) == $row->password) { 
    
$_SESSION['username'] = $username;
    
$_SESSION['rang'] = $row->usergroup;
    
$_SESSION['id'] = $row->uid;
    
    
mysql_query("UPDATE ".$prefix." SET lastlogin = ".time()." WHERE username = '".$_SESSION['username']."'");
    
    echo 
'<div class="hinweis">Du wurdest erfolgreich eingeloggt. <a href="user/index.php">&raquo; zur &Uuml;bersicht</a></div>';
} else { 
    echo 
'<div class="hinweis">Benutzername und/oder Passwort waren falsch. <a href="login.php">&raquo; Zur&uuml;ck zum Login</a></div>'
}

include(
'footer.php');
?>

Nur klappt das leider immer noch nicht... Wäre schön wenn ihr mir einen weiteren Denkanstoß geben könntet...^^
http://nopaste.ch/2afbf2697eff153.html
Externe Anzeige der Bewertungen von myBB...
Wer den Code will, PN me...
Zitieren
#4
Achso, das war nicht die inc/config.php vom Forum. Wink Dann war es wohl richtig. Es scheint dann einen Fehler im Query zu geben.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Also den Fehler in der Query hab ich schon gefunden... Nur klappt der Login immer noch nicht...
Ich hab in der member.php vom Forum leider auch keine gescheiten Hinweise gefunden...
http://nopaste.ch/2afbf2697eff153.html
Externe Anzeige der Bewertungen von myBB...
Wer den Code will, PN me...
Zitieren
#6
Der Code beinhaltet eine Sicherheitslücke, da du die Daten aus $_POST["username"] direkt in die Datenbankabfrage übernimmst. Ersetze
PHP-Code:
$username $_POST["username"]; 
durch
PHP-Code:
$username mysql_real_escape_string($_POST["username"]); 
Ansonsten hilft nur Debugging. Lass die per echo() den Inhalt der einzelnen Variablen ausgeben und überprüfe, ob es der erwartete Inhalt ist.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Danke...
Nur noch eine Frage... Passt es bis jetzt was ich da mit der funktion fürs Passwort hab? Nicht dass ich dann die ganze Zeit mit irgendwas falschem herumprobiere...
http://nopaste.ch/2afbf2697eff153.html
Externe Anzeige der Bewertungen von myBB...
Wer den Code will, PN me...
Zitieren
#8
Ich sehe dort keinen Fehler.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Danke für die Hilfe... Leider klappt es einfach nicht. Außerdem finde ich in der member.php nicht einmal irgendwas was auf die Loginroutine hinweist... Wenn ich nach dem Begriff "salt" suche, bekomme ich nur einen Treffer und der ist beim Passwort reset. Ich brauch es wirklich und es wäre wirklich schön wenn ihr mir helfen könntet.
http://nopaste.ch/2afbf2697eff153.html
Externe Anzeige der Bewertungen von myBB...
Wer den Code will, PN me...
Zitieren
#10
Die Funktionen dazu findest du in der Datei inc/functions_user.php.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Problem externer Login torrywarez 10 4.673 13.08.2009, 13:28
Letzter Beitrag: Riccardo
  externer Login Frido 5 2.710 18.01.2009, 14:48
Letzter Beitrag: StefanT
  Externer Login im Header JF600 2 2.175 24.12.2008, 15:57
Letzter Beitrag: JF600
  Externer Login MyBB 1.4 brainkopf 9 5.021 02.10.2008, 15:18
Letzter Beitrag: StefanT
  Externer Login - Wie muss der aussehen!? SweetySchnuffel 8 4.377 28.06.2007, 19:16
Letzter Beitrag: smily