Login & übergabe Session ID
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 21
- Registriert: 02.08.2008 09:46
- Wohnort: Berlin
Einfache AW weil ich die vorrangegangene Lösung genutzt habe und diese nun auch einwandfrei funktioniert bzw. mir keine anderere genannt wurde und warum sollte ich das Forum zerflücken wenn es dazu Dokus gibt die zwar leider nicht immer genau funzen wie beschrieben...
Um es kur zu sagen die Lösung mit terminierten Cookie reicht mir vollkommen aus, aber nun ist auch genug ich habe keine Lust über irgendwelche primitivien sachen hier mit einem MOD der es eigentlich besser wissen müßte zu Diskutieren...
Um es kur zu sagen die Lösung mit terminierten Cookie reicht mir vollkommen aus, aber nun ist auch genug ich habe keine Lust über irgendwelche primitivien sachen hier mit einem MOD der es eigentlich besser wissen müßte zu Diskutieren...
-
- Mitglied
- Beiträge: 21
- Registriert: 02.08.2008 09:46
- Wohnort: Berlin
So damit diese Diskussion ein Ende hat und ich nicht als schlechter Mensch hingestellt werde und ich in den Himmel komme.
Bevor mir hier eventuell nichts gutes mehr wiederfährt in sachen Hilfestellung habe ich mir die Arbeit gemacht meine oben gepostete test Datei mal funktionsfähig zu machen ohne meine eigenen Prüf Routinen bzw. Kriterien zu verwenden.
Man könnte nun aus dem Script noch einieges raus nehmen wie z.b. die while schleife wo user acvtive geholt wird und dies mit in die SQL Anweisung einbauen, und z.B. den Sicherheitscheck ob der User auch in der ForenDB existiert da ja die userdaten schon aus der foren db kommen, also muss er dort ja logischerweise existieren.
Macht wat ihr wollt daraus und nutzt es sinnvoll wer auch immer es nutzen möchte.
Dazu dann noch das passende Login & fertig is :
So ich hoffe nun beruhigen sich hier mal wieder die Gemüter. Bei Fragen fragen und Euch wird geholfen.
LG Maria
Bevor mir hier eventuell nichts gutes mehr wiederfährt in sachen Hilfestellung habe ich mir die Arbeit gemacht meine oben gepostete test Datei mal funktionsfähig zu machen ohne meine eigenen Prüf Routinen bzw. Kriterien zu verwenden.
Man könnte nun aus dem Script noch einieges raus nehmen wie z.b. die while schleife wo user acvtive geholt wird und dies mit in die SQL Anweisung einbauen, und z.B. den Sicherheitscheck ob der User auch in der ForenDB existiert da ja die userdaten schon aus der foren db kommen, also muss er dort ja logischerweise existieren.
Macht wat ihr wollt daraus und nutzt es sinnvoll wer auch immer es nutzen möchte.
Code: Alles auswählen
<?php
// Damit nicht die Fehlermeldung Hacking attempt kommt
define('IN_PHPBB', true);
// Erstellt gesendetes Password & Usernamen als String
$md5pwd = $_POST["pwd"];
$username = $_POST["usr"];
// Prüft ob Username zu Password gehört
$query_login = "SELECT username, user_password, user_id, user_active FROM phpbb_users WHERE username = '$username' AND user_password = '".md5($md5pwd)."'";
$result_login = mysql_query ($query_login);
// Schleife um user_active zu prüfen
while($row_login=mysql_fetch_array($result_login)) {
$user_active = $row_login['user_active'];
$user_id = $row_login['user_id'];
}
// Ist Username & User Password gleich & User active 1 ist LogIn Ok und Sessions werden erstellt
if (mysql_num_rows ($result_login) == 1 && $user_active == 1)
{
// Speichert Session in Datenbank phpbb_sessions
$sql_session_in = "INSERT INTO phpbb_sessions (
session_id,
session_user_id,
session_start,
session_time,
session_ip,
session_page,
session_logged_in,
session_admin)
VALUES (
'".md5(uniqid(mt_rand(), true))."',
'$user_id',
'".time()."',
'".time()."',
'".ip2long(getenv("REMOTE_ADDR"))."',
'0',
'1',
'0'
)";
mysql_query($sql_session_in);
echo "HIER KANN EIN TEXT REIN DAS LOGIN OK ODER NE HEADER LOCATION UF NE ANDERE SEITE NEN LINK ODER WAS WEIS ICH";
// Forenlogin Start
// phpBB Scripte einbinden
$phpbb_root_path = '../forum/'; // HIER DEN PFAD ANPASSEN !!!
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// phpBB Session starten
$userdata = session_pagestart($user_ip, PAGE_INDEX);
// Ist der User aus dem Forum ausgeloggt?
if ( $userdata['user_id'] == ANONYMOUS || $userdata['session_user_id'] == ANONYMOUS )
{
// Sicherheitscheck ob der User auch in der ForenDB existiert
$phpbb_sql = "SELECT user_id FROM " . USERS_TABLE . "
WHERE user_id=$user_id";
$phpbb_query = $db->sql_query($phpbb_sql);
$phpbb_result = $db->sql_fetchrow($phpbb_query);
// Wenn ja, dann im Board einloggen
if ( !empty($phpbb_result['user_id']) )
{
session_begin($phpbb_result['user_id'], $user_ip, PAGE_INDEX, FALSE, TRUE);
// Am Ende alle verwendeten Variablen löschen
unset($phpbb_root_path, $phpbb_sql, $phpbb_query, $phpbb_result, $userdata);
}
}
// Forenlogin Ende
}
// Sind LogIn Daten falsch oder User nicht aktiviert zeigt er dieses Meldung an
else
{
echo "HIER FEHLERMELDUNG EINTRAGEN WENN LOGIN NICHT OK IST";
}
?>
Code: Alles auswählen
<form action="./verify.php" method="post">
<input name="usr" id="usr" onfocus="if(this.value == 'Username') this.value='';" onblur="if (this.value=='') this.value='Username';" value="Username">
<br>
<input name="pwd" type="password" id="pwd" onfocus="if(this.value == 'Passwort') this.value='';" onblur="if (this.value=='') this.value='Passwort';" value="Passwort">
<br>
<input type="submit" name="login" value="Login" />
</form>
LG Maria
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Nur damit das hier nicht so stehen bleibt:
Code: Alles auswählen
$query_login = "SELECT username, user_password, user_id, user_active FROM phpbb_users WHERE username = '" . mysql_real_escape_string($username) . "' AND user_password = '".md5($md5pwd)."'";
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
-
- Mitglied
- Beiträge: 21
- Registriert: 02.08.2008 09:46
- Wohnort: Berlin
Jut sollte man gegen SQL-Injection unbedingt mit einbauen bzw. verwenden...
so nun kürzen wir das Script auch noch um unnötige Zeilen hoffe es funzt nun so auch noch habs net getestet aber eigentlich sollte es gehen :
LG Maria
so nun kürzen wir das Script auch noch um unnötige Zeilen hoffe es funzt nun so auch noch habs net getestet aber eigentlich sollte es gehen :
Code: Alles auswählen
<?php
// Damit nicht die Fehlermeldung Hacking attempt kommt
define('IN_PHPBB', true);
// Erstellt gesendetes Password & Usernamen als String
$md5pwd = $_POST["pwd"];
$username = $_POST["usr"];
// Prüft ob Username zu Password gehört und user_active 1 ist
$query_login = "SELECT username, user_password, user_id, user_active FROM phpbb_users WHERE username = '" . mysql_real_escape_string($username) . "' AND user_password = '".md5($md5pwd)."' AND user_active = '1'";
$result_login = mysql_query ($query_login);
// Schleife um user_id zu bekommen
while($row_login=mysql_fetch_array($result_login)) {
$user_id = $row_login['user_id'];
}
// Ist Username & User Password gleich ist LogIn Ok und Sessions werden erstellt
if (mysql_num_rows ($result_login) == 1)
{
// Speichert Session in Datenbank phpbb_sessions
$sql_session_in = "INSERT INTO phpbb_sessions (
session_id,
session_user_id,
session_start,
session_time,
session_ip,
session_page,
session_logged_in,
session_admin)
VALUES (
'".md5(uniqid(mt_rand(), true))."',
'$user_id',
'".time()."',
'".time()."',
'".ip2long(getenv("REMOTE_ADDR"))."',
'0',
'1',
'0'
)";
mysql_query($sql_session_in);
echo "HIER KANN EIN TEXT REIN DAS LOGIN OK ODER NE HEADER LOCATION UF NE ANDERE SEITE NEN LINK ODER WAS WEIS ICH";
// Forenlogin Start
// phpBB Scripte einbinden
$phpbb_root_path = '../forum/'; // HIER DEN PFAD ANPASSEN !!!
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// phpBB Session starten
$userdata = session_pagestart($user_ip, PAGE_INDEX);
// Ist der User aus dem Forum ausgeloggt?
if ( $userdata['user_id'] == ANONYMOUS || $userdata['session_user_id'] == ANONYMOUS )
{
session_begin($user_id, $user_ip, PAGE_INDEX, FALSE, TRUE);
// Am Ende alle verwendeten Variablen löschen
unset($phpbb_root_path, $userdata);
}
// Forenlogin Ende
}
// Sind LogIn Daten falsch oder User nicht aktiviert zeigt er dieses Meldung an
else
{
echo "HIER FEHLERMELDUNG EINTRAGEN WENN LOGIN NICHT OK IST";
}
?>
LG Maria
Ein externes Loginscript, welche die auth API nutzt findest u.a. hier :
http://www.lpi-clan.de/viewtopic.php?f=26&t=3550
Aber das ist nur für phpBB3
http://www.lpi-clan.de/viewtopic.php?f=26&t=3550
Aber das ist nur für phpBB3