Pagina 1 van 1

Inloggen via URL

Geplaatst: 16 aug 2006, 13:02
door bas_s
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.

Geplaatst: 16 aug 2006, 15:54
door Luuk
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:

Geplaatst: 16 aug 2006, 16:01
door ElbertF
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..

Geplaatst: 16 aug 2006, 17:46
door mosymuis
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.

Geplaatst: 16 aug 2006, 22:38
door bas_s
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

Geplaatst: 17 aug 2006, 12:00
door bas_s
Hi,

Vandaag nogmaals geprobeerd. Werkt helaas nog steeds niet.

Iemand nog andere tips?

Bas

Geplaatst: 17 aug 2006, 20:48
door Luuk
Je moet in de inloglink dan wel nog erbijzetten login=true, dus login.php?login=true&username=truus&password=sjaak :bier:

Geplaatst: 17 aug 2006, 21:25
door bas_s
Thanks,

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

Bas