Inloggning till phpBB från "annan" sida

Frågor kring MODdar (modifikationer) för phpBB 3 (3.0.0 eller senare).

Moderatorer: Moderatorgrupp, Supportgrupp

Skriv svar
Webkungen
Ny medlem
Ny medlem
Inlägg: 4
Blev medlem: 2008-02-13 11:40
Svar: 0

Inloggning till phpBB från "annan" sida

Inlägg av Webkungen »

Hej!
Vi har längde kört phpBB2 på en sajt.
På sistone har vi haft jätteproblem med spambottar, därför bestämde jag mig för att uppgradera till phpBB3.
Installation och migrering från det gamla forumet gick jättebra och allt fungerar som det ska, förutom en sak.

Tidigare körde vi med gemensam inloggning, loggande man inte på vår sajt, blev man även inloggad på forumet.
Det här är det enda som inte funkar efter uppgraderingen, misstänker att det antingen har med någon session som inte är satt på rätt sätt, eller något som är ändrat i tabellen "phpbb3_sessions" i phpBB3.

Det är inte jag som gjort vår sajt från början, så det är lite meckigt att sätta sig in i koden, men det här är delen som sköter inloggningen:

Kod: Markera allt

$query = "SELECT user_id FROM phpbb3_users WHERE username = '" . $session->get('username') . "' LIMIT 1";
$user_id = 0;
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
	$user_id = $row['user_id'];
}		
		
$user_ip = encode_ip($client_ip);
$session_id = md5(uniqid($user_ip));
$current_time = time();
$sql = "INSERT INTO phpbb3_sessions "
	(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
	VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', 0, 1)";

$result = mysql_query($sql);
@setcookie($phpbbcookieprefix . '_sid', $session_id, 0, "/");
Är inte särskilt insatt i hur phpBB fungerar, så all hjälp tages tacksamt emot!
Användarens profilbild
Kjell
Hedersmedlem
Hedersmedlem
Inlägg: 4510
Blev medlem: 2006-11-11 23:35
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Kjell »

Version 3 kör krypterat på lösenord och filer.
Det finns några vägar att gå, ett är att hitta en gateway mellan din sida och forumet och det andra är att göra så att ni använder egna sidor under phpBB3, vilket normalt inte är så svårt att konvertera till.
http://www.phpbb-se.com/forum/viewtopic.php?f=20&t=4664
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Webkungen
Ny medlem
Ny medlem
Inlägg: 4
Blev medlem: 2008-02-13 11:40
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Webkungen »

Hej,
Tack för ditt svar.
Problemet är att forumet har alltid varit fristående från hemsidan och så tänkte vi fortsätta ha det.
Det här beror på massor av saker, en av dom är att det skulle ta alldeles för lång tid att göra om allt.

Om jag förstått den gamla koden rätt, sätts en kaka som heter "phpbb_sid", samtidigt som värdet sparas i tabellen "sessions" i databasen.
Misstänker att phpBB2 sedan jämförde kakan på användarens dator med den info som fanns i databasen och på så sätt loggade in personen.

Hur funkar det här i phpBB3?
Finns det någon annan väg att gå, för att bevara funktionen likt den vi kört på innan?

Tack!
Användarens profilbild
yuriman
Medhjälpare
Medhjälpare
Inlägg: 364
Blev medlem: 2007-01-13 21:25
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av yuriman »

det är så här i både phpBB2 och phpBB3.
När du loggar in på forumet eller hemsidan skapar phpBB eller din CWS en session i både ditt forums och CWS tabell för sessions.
Sen ger phpBB och CWS'en dig en varsin cookie :D
Yuriman
Användarens profilbild
Kail
Administratör
Administratör
Inlägg: 2937
Blev medlem: 2003-06-03 14:53
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Kail »

Kjell: phpBB har alltid skapat hashar av lösenord, de har inte lagrats i klartext. Jag tror algoritmen är lite annorlunda i phpBB3 och inte MD5 som tidigare.

Använder ni ett CMS, isf vilket? Det är svårt att lösa problemet när man bara vet hälften av vad man behöver veta.

Jag betraktar detta som en MOD så tråden flyttas.
Jakob Persson - Grundare av phpBB Sverige - IT-konsult - http://www.jakob-persson.com
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
Användarens profilbild
yuriman
Medhjälpare
Medhjälpare
Inlägg: 364
Blev medlem: 2007-01-13 21:25
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av yuriman »

Menade CMS :oops:
Yuriman
Webkungen
Ny medlem
Ny medlem
Inlägg: 4
Blev medlem: 2008-02-13 11:40
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Webkungen »

Vi använder inget CMS, utan det är en från början egengjord sida som använder ett mallsystem, som liknar "bTemplate", om ni hört talas om det.
Det här verkar ju vara den "nyckel", som skapas i phpBB's sessionstabell när man loggar in:

Kod: Markera allt

$session_id = md5(uniqid($user_ip));
Om phpBB3 inte använder sig av MD5 längre, är det inte så konstigt att det inte funkar, eftersom strängen ovan blir helt fel.
Går det att komma åt forumet's sätt att hasha strängen?
Om, så känns det som att det går att lösa den vägen.

Kai -> Vad mer behöver du / ni veta? Jag kan givetsvis paste'a mer kod om det behövs, men måste isf. veta vilken del du är intesserad av. Det jag klistrad in här hittills, är delen för inloggning på hemsidan.

Tack!
Användarens profilbild
Kail
Administratör
Administratör
Inlägg: 2937
Blev medlem: 2003-06-03 14:53
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Kail »

Jag har läst att phpBB 3 inte använder MD5 för att hasha lösenord. Hur det skapar sessions idn vet jag inte, har inte grävt i koden.

Det folk behöver är göra jobbet åt dig men jag har inte tid just nu. Du kan ju kika på phpBB-modulen för Drupal som inspiration ifall du vill lösa problemet själv (http://www.drupal.org/project/phpbb).
Jakob Persson - Grundare av phpBB Sverige - IT-konsult - http://www.jakob-persson.com
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
Användarens profilbild
Kjell
Hedersmedlem
Hedersmedlem
Inlägg: 4510
Blev medlem: 2006-11-11 23:35
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Kjell »

Webkungen skrev:Vi använder inget CMS, utan det är en från början egengjord sida som använder ett mallsystem, som liknar "bTemplate", om ni hört talas om det.
Hmm, nu ska vi se.. är inte bTemplate också baserat på PHP om jag förstår ditt första inlägg?
Om det är det så borde eventuellt några raderna från phpBB3 räcka

Kod: Markera allt

define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup('common');
och själva inloggningen, möjligen den du redan har.
http://www.phpbb-se.com/forum/viewtopic ... 787#p24787
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Webkungen
Ny medlem
Ny medlem
Inlägg: 4
Blev medlem: 2008-02-13 11:40
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av Webkungen »

Tack för era svar!
Ska kolla upp det här lite närmare.
Ett problem som jag ser direkt, är klassen "auth" som används av phpBB3.

Vi kör en klass sedan tidigare på övriga sidan, även den heter "auth", så det kanske blir någon krock där?
Ska kolla senare under dagen, återkommer...

Tack!
Användarens profilbild
tumba25
Hedersmedlem
Hedersmedlem
Inlägg: 2097
Blev medlem: 2007-04-18 10:38
Svar: 0

Re: Inloggning till phpBB från "annan" sida

Inlägg av tumba25 »

phpBB3 kodar lösenorden med MD5 eftersom det är det enda alternativet som finns i alla versioner av php som används idag. Men dom saltas också. Funktionerna för det finns i functions.php om någon vill kolla.

session_id skapas genom att md5'a en unik sträng som skapas av bl a microtime(). Det finns också i functions.php.

/J
Bild
Developer @ phpBB MOD Team

Behöver du en modifikation skriven/installerad för ditt phpBB-forum? Eller kanske annan specialanpassad kod och/eller en server-administratör? https://tumba25.net/
Skriv svar

Vilka är online

Användare som besöker denna kategori: 3 och 0 gäster