Directory beveiligen en inloggen met php vanuit DB
Ik wil graag op een site de directory met foto's beveiligen zodat deze alleen zichtbaar zijn voor leden met een login.
Voorkomen dient te worden dan kwaadwillende de foto's via bv url kunnen opvragen. de foto's zijn niet openbaar.
Nu lukt het beveiligen van de directory wel via htaccess en htpasword is inmiddels gelukt, alleen ben op zoek naar een manier om de beveiligde directory in te kunnen via de login van de gebruiker. Gebruikers zijn bekend in een database met versleutelde wachtwoorden.
Eigenlijk zou ik willen dat een gebruiker die reeds ingelogd is via een sessie, automatisch toegang krijgt tot de beveiligde directory zonder hiervoor opnieuw in te loggen. Nu zou ik het htpassword bestand natuurlijk handmatig kunnen aanpassen, maar gebruikers staan al in een database en kunnen ook zelf hun wachtwoord wijzigen enzo, dus dat is niet handig.
Nu zat ik te denken om in htpassword 1 gebruikersnaam en 1 wachtwoord in te voeren en deze dan via php in de beveiligde pagina van de gebruiker mee te geven in een variabelen. Echter kan dit, en hoe dien ik de directory dan aan te roepen met php (met daarin login en password?
Wie weet hier een oplossing voor?
Alvast hartelijk bedankt weer!
Hierin kan je bekijken of de inlogde gebruiker wel toegang heeft tot de beveiligde pagina.
Het simpelste voorbeeld is;
Code (php)
Hiermee bekijk je of de gebruiker die op dat moment ingelogt is de sessie "logged_in" bevat.
===
Daarnaast kan je dmv een download.php bestand aangeven welke file je wilt downloaden, aan de hand daarvan kan je een download forceren en anders kets je het verzoek af in php.
Daarbij haalde ik elk uur uit de database op of er nieuwe users waren en/of nieuwe passwords.
De passwords (die inderdaad ongehasht in de db staan) werden dan met de usernames in het htpasswd bestand geplaatst.
Waarschijnlijk is het eenvoudiger/stabieler als je de map in zijn geheel afsluit
(deny from all in .htaccess)
PHP kan er dan nog steeds in.
met http://php.net/fpassthru kun je dan de files uitgeven naar de ingelogde users
Een rewriterule:
geheimedir/* > toegang.php?fileneme=...
in toegang.php laat je php kijken of de user erin mag.
zo ja: met fpassthru de file afgeven.
zo nee: foutmelding.
check eventueel nog of het een plaatje, pdf, mp3 etc is voor de juiste header.
Of simpeler: de foto's buiten de public_html (document root voor de webserver) plaatsen, dat je daar alleen via een script bij kunt, dan ben je er ook.
Wellicht net dat ene duwtje in de rug
Thanks voor de snelle hulp
Toevoeging op 01/09/2015 18:55:05:
An tje op 01/09/2015 16:19:56:
Als je een betere beveiliging wilt kan je de foto's beter versleutelen. Als je webapp op een remote server draait waar jij niet de root toegang van hebt, dan is de kans groot dat een ander daar gewoon bij kan. Je kunt er ook voor kiezen om de bestanden in een database te zetten, desnoods in een virtueel bestandssysteem. Dan heb je daarin alle vrijheid wat regelen van toegang en versleuteling betreft.
Of simpeler: de foto's buiten de public_html (document root voor de webserver) plaatsen, dat je daar alleen via een script bij kunt, dan ben je er ook.
Of simpeler: de foto's buiten de public_html (document root voor de webserver) plaatsen, dat je daar alleen via een script bij kunt, dan ben je er ook.
Foto's buiten de public_hmtml plaatsen, had ik ook aan gedacht. Echter hoe dien ik het pad ernaar toe te plaatsen in php?
Gewijzigd op 01/09/2015 18:53:39 door N tigerrag