Inloggen via URL

Voor discussies rondom phpBB2. phpBB2 wordt niet meer ondersteund en deze berichten kunnen wellicht gedateerd zijn.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
bas_s
Berichten: 4
Lid geworden op: 16 aug 2006, 12:39

Inloggen via URL

Bericht door bas_s » 16 aug 2006, 13:02

Hi,

Ik wil voor m'n forum de mogelijkheid hebben om via een URL in te loggen, in plaats van met de standaard login pagina & form.

Dus met een URL die lijkt op:
/FORUM_DIR/login.php?username="LOGIN"&password="PASSWORD"&redirect=""&login="login"

Zowel LOGIN als PASSWORD zijn plain text. Correct volgens mij, want de password md5 hash gebeurt pas op een later moment om de match te maken met de database.

Volgens mij zou het moeten kunnen op deze manier, maar phpbb herkent de gebruiker/wachtwoord niet. :-(

Eea analoog aan het form:
<form id="ForumLogin" action="/FORUM_DIR/login.php" method="POST">
<input type="hidden" name="username" value="LOGIN" />
<input type="hidden" name="password" value="PASSWORD" />
<input type="hidden" name="redirect" value="" />
<input type="hidden" name="login" value="Log In" />
<input type="submit" value="Go to Forum!" />
</form>

Deze werkt wel (maar is niet wat ik wil :-) )!

Heeft iemand suggesties?


Bas

PS
Weet niet zeker of dit de juiste plek is voor deze vraag, zo niet, dan graag aangeven waar het beter thuis hoort.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 16 aug 2006, 15:54

Het gaat wel, dan moet je alleen wat aanpassen in login.php
Zoek

Code: Selecteer alles

		$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
En vervang met

Code: Selecteer alles

		$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : ( isset($HTTP_GET_VARS['username']) ? phpbb_clean_username($HTTP_GET_VARS['username']) : '' );
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : ( isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '' );
Weet niet zeker of de veiligheid van je forum nu minder wordt... :roll:
Afbeelding

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 16 aug 2006, 16:01

Waarschuw je gebruikers wel dat hun gebruikersnaam en wachtwoord terug te vinden is in de geschiedenis van de browser. Dat kan vervelend zijn bij openbare computers..

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 16 aug 2006, 17:46

Niet alleen in de browser geschiedenis, maar ook voor sniffers, router logs etc. GET data is in die zin een stuk publieker dan POST gegevens.

Overigens is het handiger om de $HTTP_POST_VARS's in login.php te vervangen met $HTTP_REQUEST_VARS, dan werkt het ook.

bas_s
Berichten: 4
Lid geworden op: 16 aug 2006, 12:39

Bericht door bas_s » 16 aug 2006, 22:38

Hi,

Met dank voor de tips. Heb de gesuggereerde code geprobeerd, maar nog geen success.
Zal er morgen nog even naar kijken, wellicht dat ik iets verkeerd geknipt & geplakt heb.

De security opmerkingen zijn terecht, slechts voor een beperkt aantal gebuikers zal deze 'achterdeur' gebruikt gaan worden.

Bas

bas_s
Berichten: 4
Lid geworden op: 16 aug 2006, 12:39

Bericht door bas_s » 17 aug 2006, 12:00

Hi,

Vandaag nogmaals geprobeerd. Werkt helaas nog steeds niet.

Iemand nog andere tips?

Bas

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 17 aug 2006, 20:48

Je moet in de inloglink dan wel nog erbijzetten login=true, dus login.php?login=true&username=truus&password=sjaak :bier:
Afbeelding

bas_s
Berichten: 4
Lid geworden op: 16 aug 2006, 12:39

Bericht door bas_s » 17 aug 2006, 21:25

Thanks,

Werkt als een trein.
(had mijn spulletjes met "-jes omgeven, dat helpt niet :-) )

Bas

Gesloten