Hallo zusammen,
ich bin Hobby-Browsergame-Entwickler und hab in den letzten Tagen recht viele Forensysteme ausprobiert und mir angeschaut. Bin von mybb bisher sehr begeistert und tendiere aktuell dahin, es als Forum für unser neues Spiel zu verwenden. Nun würde ich es gerne so einrichten, dass User, die sich in unserem Spiel anmelden, auch automatisch einen Account im Forum bekommen (also sowohl angelegt, als auch automatisch "durchgeloggt" werden, wenn sie sich im Spiel eingeloggt haben und das Forum aufrufen). Unser Spiel nutzt auch PHP und MySQL, sodass ich denke, mit etwas Zeit (und Suchaufwand - was muss ich wo in die DB eintragen, wie muss ich die Anmeldung manipulieren, damit der User automatisch durchgeloggt wird, etc) sollte es uns möglich sein, diese Anforderungen umzusetzen. Da ich mir aber vorstellen könnte, dass ich nicht der erste "Portalbetreiber" bin, der sowas umsetzen will, möchte ich hier einmal fragen, ob jemand bereits ein Plugin oder eine Seite, die alle relevanten Stellen, die angepasst werden müssten, beschreibt, kennt, die ich als Grundlage für die Anpassung nehmen könnte?
Ich habe bereits über Google gesucht, aber bin leider nicht auf das gestoßen, was ich suche. Bin für jeden Tipp dankbar.
Wüsste jetzt nix bestehendes...
Das Useranlegen ist easy, einfach die entsprechende Tabelle schreiben. Eleganter aber natprlich per Plugin.
Ebenso den Login: Mach dir ein Plugin das den Login-Hook abfängt und den User einloggt. Dürfte kein großer Aufwand sein.
Nur aus Interesse: was für ein Browsergame schreibst du?
Hi,
danke für deine Antwort. Weißt du zufällig welche Tabelle(n) betroffen ist/sind?
Ich bin quasi die Hälfte des Entwicklerteams von
http://www.90-minutes.org (ist schon seit 2005 online, wird von uns aber nach wie vor regelmäßig erweitert) und das neue Spiel, für das ich nach dem passendem Forumsystem suche, ist
Culture Conflicts - The Rise of Civilizations. Das befindet sich aktuell noch in der Closed Alpha.
Dabei handelt es sich um die Tabelle "mybb_Users" (so lange der Präfix bei der Installation nicht geändert wurde). Dort kannst Du die gewünschten Daten einlesen lassen.
Super, wenn alles nur in einer Tabelle gemacht werden muss. Muss dann wahrscheinlich nur noch schauen, wie das Login-Script funzt und es so manipulieren, dass man automatisch durchgeloggt wird, wenn man im Game angemeldet ist.
Hallo,
auch ich stehe vor dieser Aufgabe (für eine Sportvereinsseite) und bin schon von selbst drauf gekommen, wo ich anfassen muss. Aber irgendwas funktioniert nicht. Ich wollte erstmal nur die Benutzerdaten generieren. Dafür habe ich ein kleines Testscript geschrieben:
Code:
<?php
chdir("../../../forum/inc");
include_once 'functions.php';
if (isset($_POST['pw']))
{
$password = $_POST['pw'];
$newpassword = array();
$salt = "abcdefgh";
$newpassword['salt'] = $salt;
$saltedpw = salt_password($password, $salt);
$loginkey = generate_loginkey();
$newpassword['password'] = $saltedpw;
$newpassword['loginkey'] = $loginkey;
}
function salt_password($password, $salt)
{
return md5(md5($salt).$password);
}
function generate_loginkey()
{
return random_str(50);
}
?>
<form method="post" action="test_pw.php">
<input type="text" name="pw">
<input type="submit">
</form>
Pw: <?php echo $newpassword['password']?><br>
Salt: <?php echo $newpassword['salt']?><br>
Key: <?php echo $newpassword['loginkey']?>
Es wird mir auch ein 1a-Kennwort sowie ein Loginkey generiert, wenn ich die Daten allerdings direkt in die mybb_users in die betreffenden Felder eines bereits angelegten Benutzers (password, salt, loginkey) kopiere, wird mir immer nach dem Login gesagt, dass die Daten nicht korrekt sind.
Habe ich etwas übersehen? Oder stelle ich mir das zu einfach vor?
Vielen Dank!
Mal abgesehen vom nicht zufälligen Salt, lohnt es sich nicht wirklich, die functions.php nur für random_str() einzubinden.
Der Fehler ist, dass das Passwort auch erstmal mit md5() verschlüsselt wird, bevor noch der Salt dazu kommt.
(30.11.2011, 15:52)StefanT schrieb: [ -> ]Mal abgesehen vom nicht zufälligen Salt, lohnt es sich nicht wirklich, die functions.php nur für random_str() einzubinden.
Ich weiß, Salt ist nicht wirklich "einbruchsicher"
Und mit dem Einbinden wollte ich einfach nur nichts dem Zufall überlassen.
(30.11.2011, 15:52)StefanT schrieb: [ -> ]Der Fehler ist, dass das Passwort auch erstmal mit md5() verschlüsselt wird, bevor noch der Salt dazu kommt.
Coole Sache, jetzt läufts!!
Vielen Dank für die promte und schnelle Antwort.
Kannst Du mir sagen, welche Sessionvariablen das Board setzt, oder sind die nicht fix bzw. zu komplex? Dann könnte ich ggf. die Anmeldung schon vorher auf meinen Seiten erledigen.
Die Authentifizierung läuft nicht über Sessions sondern über ein Cookie mit dem loginkey.
(30.11.2011, 15:52)StefanT schrieb: [ -> ]Der Fehler ist, dass das Passwort auch erstmal mit md5() verschlüsselt wird
Das Passwort wird nicht verschlüsselt, sondern gehasht. Eine Verschlüsselung kann man rückgängig machen, diesen Hash Algorithmus nicht.