Session Frage
Samuel Vogel
- php
0 Andreas-Lindig0 Samuel Vogel0 Tom
Hallo,
Ich habe ein News-System gebastelt in dem man auch Kommentare schreiben kann. Das sollen natürlich auch normale User könenn aber keine Gäste! Und deshalb würde ich gerne einen "User-Import" vom wbb machen. Also das man sich im wbb einloggt ist man auch auf den Seiten von meinem News-System eingeloggt. Leider hab ich nur keine Ahnung wie ich damit anfangen soll.
Für einen Ansatz wäre ich sehr dankbar!
samy,
Hallo Samuel,
was ist denn wbb?
Gruß, Andreas
Hi,
was ist denn wbb?
Das wbb ist das Woltlab Burning Board
samy,
Hello,
was ist denn wbb?
Das wbb ist das Woltlab Burning Board
Und wie funktioniert ein Login dort?
Läuft Deine Seite unter derselben Domain?
Hast Du den Quellcode vom "wbb" oder ist das etwas compiliertes?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
Und wie funktioniert ein Login dort?
Man gibt halt seine Daten en die werden mit den in der Datenbank abgeglichen und dann geht alles mit sessions!
Läuft Deine Seite unter derselben Domain?
Ja sie läsuft unter der selben Domain. Das wbb liegt in einm Unterordner des News-System
Hast Du den Quellcode vom "wbb" oder ist das etwas compiliertes?
nein der Quelcode ist nicht compiliert und das ist der Code von login:
$result = getwbbuserdata($_POST['l_username'],"username");
if($allowloginencryption==1 && $_POST['crypted']=="true" && $result['sha1_password'])
{
$authentificationcode=$sha1->hash($sha1->hash($session['authentificationcode']).$result['sha1_password']);
if(!$result['userid'] || $authentificationcode!=$_POST['authentificationcode'])
{
unset($result);
unset($authentificationcode);
}
else $wbb_userpassword=$result['password'];
}
else
{
$wbb_userpassword=md5($_POST['l_password']);
if(!$result['userid'] || $result['password']!=$wbb_userpassword) unset($result);
else
{
if(!$result['sha1_password']) $db->unbuffered_query("UPDATE bb".$n."_users SET sha1_password='".$sha1->hash($_POST['l_password'])."' WHERE userid='$result[userid]'");
}
}
if(isSet($result['userid']) && $result['userid'])
{
$wbb_username=htmlconverter($result['username']);
if($result['usecookies']==1)
{
bbcookie("userid","$result[userid]",time()+3600*24*365);
bbcookie("userpassword","$wbb_userpassword",time()+3600*24*365);
}
$db->unbuffered_query("DELETE FROM bb".$n."_sessions WHERE userid = '$result[userid]'",1);
$db->unbuffered_query("UPDATE bb".$n."_sessions SET userid = '$result[userid]', authentificationcode='', styleid='".$result['styleid']."' WHERE sessionhash = '$sid'",1);
unset($session['authentificationcode']);
/** convert url -> remove session hash **/
function convert_url($url,$hash,$nosessionhash=0) {
if($nosessionhash==0) $url=preg_replace("/sid=[0-9a-z]*/","sid=$hash",$url);
else $url=preg_replace("/sid=[0-9a-z]*/","sid=",$url);
return $url;
}
if(isset($_POST['url']) && $_POST['url'] && strstr($_POST['url'],"?")) $url=convert_url($_POST['url'],$sid,$wbbuserdata['nosessionhash']);
else
{
if($result['nosessionhash']==1) unset($session['hash']);
$url="index.php?sid=$session[hash]";
}
eval("redirect("".$lang->get4eval("LANG_USERCP_LOGIN_REDIRECT")."","$url");");
exit();