[HTTP auth/php] checken op login andere realm

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Topicstarter
Ik zit met 't volgende:

inleiding
Ik heb voor een site een pagina waarop men een gebruikersnaam en wachtwoord aan kan vragen voor een downloadgedeelte van de site. Dit om een beetje controle te krijgen op de gebruikers die de zut downloaden.

Nu heb ik dit gedaan door in een databaseje de usernames (emailadressen) op te slaan, en wachtwoorden naar een htpasswd bestandje weg te schrijven. Als men dan op de downloadlink klikt, krijgt men zo'n Basic HTTP auth wachtwoord-invuldingetje, en na invullen van gebruikersnaam en wachtwoord krijgt men een overzichtje van de te downloaden bestanden, die in dezelfde realm staan, en dus ook wanneer direct naar die bestanden gelinkt wordt, men zijn gebruikersnaam en wachtwoord in moet vullen.

Nu kunnen er zich een aantal situaties voordoen:
• Men komt terug op de site om weer wat te downloaden.
  • In dit geval hoeft men niet opnieuw aan te vragen, een directe link om de bestanden te downloaden is beschikbaar. Dit is uiteraard niet te controleren, behalve door een cookie te zetten wanneer men iets heeft aangevraagd. Nou vind ik dat niet nodig, en dat gebeurt dus ook niet. Een link met "Wanneer u reeds de zut heeft ontvangen kunt u [u]hier[/] inloggen" is dus beschikbaar
• Men heeft reeds gebruikersnaam en wachtwoord heeft ingevuld.
  • In dat geval kan men direct door naar de pagina met beschikbare downloads. Gebruikersnaam en wachtwoord invullen is dan dus niet meer nodig.
In beide gevallen wordt naar dezelfde pagina gelinkt. Of de user is ingelogd zoeken de server en de browser samen wel uit :)

't probleem
Maar 't punt is dat ik nu op de pagina waar die links voorkomen wel onderscheid wil maken tussen de 2 gevallen. Ik kan echter op die pagina niet checken of men al is ingelogd, want de REMOTE_USER, PHP_AUTH_NAME, of HTTP_AUTH variabelen zijn (uiteraard) niet buiten de HTTP-auth realm beschikbaar.....

oplossingen, maar niet toereikend
Een oplossing is om het "aanvraag" scherm als 401 pagina op te nemen, dus wanneer men geen toegang heeft, kan men username en wachtwoord aanvragen. Maar ja, ik wil de gebruikers niet afschrikken met een login-scherm, zonder dat ze ook weten dat ze de zut gewoon aan kunnen vragen. Dat laatste heeft dus in principe prioriteit.

Een andere oplossing is om een cookie te zetten met daarin aangegeven of de gebruiker al eens ingelogd is, en of de gebruiker zijn wachtwoord en gebruikersnaam ontvangen heeft. Maar dan weet ik nog steeds niet of de gebruiker in de huidige sessie al een keer ingelogd is... :/

probleempje dus. Heeft iemand een ander idee hoe ik dat op zou kunnen lossen :?

En ja, we willen het graag bij basic http-auth laten. Zelf een loginsysteem schrijven heb ik geen zin in ;) en daar willen ze niet voor betalen :z dus da's geen optie... Ze zijn ook wel fan van zo'n http-auth popup-login-boxje achtig dingetje....

iemand?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

Als een user een http-auth opgeeft moet een een cookie gezet worden. Deze cookie geeft dus aan dat deze user over een login en pass beschikt (eventueel met extra info).

Hierna kan je dus aan de hand van die cookie zien of een user beschik over een download password ja/nee. Als je bij een ingelogde user extra info nodig hebt moet je dat ook in de cookie opnemen.

Maar uit dit voorbeeld blijkt dat het dus handig is als een gebruiker over de algehele pagina is ingelogged ipv alleen voor een download gedeelte. En uiteindelijk wil elke site toch naar users die zich registreren, zodat er comments en ratings op bestanden kunnen komen te staan ed.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Topicstarter
TormentoR:
Als een user een http-auth opgeeft moet een een cookie gezet worden. Deze cookie geeft dus aan dat deze user over een login en pass beschikt (eventueel met extra info).
Ja, en dat is wat er ook onder water gebeurt met de HTTP_AUTH, PHP_AUTH_NAME en REMOTE_USER variabelen. Die worden natuurlijk ook op een of andere manier uit de cookie of een of andere sessie gevist. Maar 't punt is dat ik buiten de realm niet bij die variabelen kan en hoogstwaarschijnlijk dus ook niet bij dat cookie :)
Hierna kan je dus aan de hand van die cookie zien of een user beschik over een download password ja/nee. Als je bij een ingelogde user extra info nodig hebt moet je dat ook in de cookie opnemen.
Niet dus :)
Maar uit dit voorbeeld blijkt dat het dus handig is als een gebruiker over de algehele pagina is ingelogged ipv alleen voor een download gedeelte. En uiteindelijk wil elke site toch naar users die zich registreren, zodat er comments en ratings op bestanden kunnen komen te staan ed.
Nee, want dat is niet wat de klant wil. Daar kan ik ook niets aan doen. We kunnen ook constateren dat het niet mogelijk is, maar dan wil ik daar wel even zekerheid over hebben :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

drm schreef op 11 December 2002 @ 12:52:
[nohtml]
[...]
Ja, en dat is wat er ook onder water gebeurt met de HTTP_AUTH, PHP_AUTH_NAME en REMOTE_USER variabelen. Die worden natuurlijk ook op een of andere manier uit de cookie of een of andere sessie gevist. Maar 't punt is dat ik buiten de realm niet bij die variabelen kan en hoogstwaarschijnlijk dus ook niet bij dat cookie :)

[...]
Nee, HTTP_AUTH ed. zijn alleen beschikbaar in de directories achter een .htaccess file

Cookies worden per domein gezet.

Dus deze cookie is wel te benaderen.

www.domein.nl/files/.htaccess

voor alles boven www.domein.nl/files/* zijn variabelen als HTTP_AUTH beschikbaar

De cookies zijn voor het gehele domein beschikbaar www.domein.nl/*

Als ik me niet vergis :X

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Topicstarter
Hm, dat ga ik toch nog ff dubbelchecken dan...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz