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.
'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
dus da's geen optie... Ze zijn ook wel fan van zo'n http-auth popup-login-boxje achtig dingetje....
iemand?
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
- In dat geval kan men direct door naar de pagina met beschikbare downloads. Gebruikersnaam en wachtwoord invullen is dan dus niet meer nodig.
'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

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